Coverage Report

Created: 2025-06-03 01:48

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <system_error>
32
#include <tuple>
33
34
namespace scn {
35
SCN_BEGIN_NAMESPACE
36
37
/////////////////////////////////////////////////////////////////
38
// Metaprogramming facilities
39
/////////////////////////////////////////////////////////////////
40
41
namespace detail {
42
43
template <typename T>
44
using integer_type_for_char =
45
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
46
47
template <typename T, template <typename...> class Templ>
48
struct is_specialization_of_impl : std::false_type {};
49
template <typename... T, template <typename...> class Templ>
50
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
51
52
template <typename T, template <typename...> class Templ>
53
using is_specialization_of =
54
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
55
template <typename T, template <typename...> class Templ>
56
inline constexpr bool is_specialization_of_v =
57
    is_specialization_of<T, Templ>::value;
58
59
// from mp11:
60
61
template <typename T>
62
struct mp_identity {
63
    using type = T;
64
};
65
template <typename T>
66
using mp_identity_t = typename mp_identity<T>::type;
67
68
template <bool B>
69
using mp_bool = std::integral_constant<bool, B>;
70
template <typename T>
71
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
72
template <typename T>
73
using mp_not = mp_bool<!T::value>;
74
template <auto A>
75
using mp_value = std::integral_constant<decltype(A), A>;
76
77
template <bool C, typename T, typename... E>
78
struct mp_if_c_impl;
79
template <typename T, typename... E>
80
struct mp_if_c_impl<true, T, E...> {
81
    using type = T;
82
};
83
template <typename T, typename E>
84
struct mp_if_c_impl<false, T, E> {
85
    using type = E;
86
};
87
88
template <bool C, typename T, typename... E>
89
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
90
template <typename C, typename T, typename... E>
91
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
92
93
template <template <typename...> class F, typename... T>
94
struct mp_valid_impl {
95
    template <template <typename...> class G, typename = G<T...>>
96
    static std::true_type check(int);
97
    template <template <typename...> class>
98
    static std::false_type check(...);
99
100
    using type = decltype(check<F>(0));
101
};
102
103
template <template <typename...> class F, typename... T>
104
using mp_valid = typename mp_valid_impl<F, T...>::type;
105
template <template <typename...> class F, typename... T>
106
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
107
108
struct mp_nonesuch {};
109
template <template <typename...> class F, typename... T>
110
struct mp_defer_impl {
111
    using type = F<T...>;
112
};
113
114
template <template <typename...> class F, typename... T>
115
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
116
117
template <bool C, class T, template <class...> class F, class... U>
118
struct mp_eval_if_c_impl;
119
120
template <class T, template <class...> class F, class... U>
121
struct mp_eval_if_c_impl<true, T, F, U...> {
122
    using type = T;
123
};
124
125
template <class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
127
128
template <bool C, class T, template <class...> class F, class... U>
129
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
130
template <class C, class T, template <class...> class F, class... U>
131
using mp_eval_if =
132
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
133
template <class C, class T, class Q, class... U>
134
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
135
                                                T,
136
                                                Q::template fn,
137
                                                U...>::type;
138
139
// mp_eval_if_not
140
template <class C, class T, template <class...> class F, class... U>
141
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
142
template <class C, class T, class Q, class... U>
143
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
144
145
// mp_eval_or
146
template <class T, template <class...> class F, class... U>
147
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
148
template <class T, class Q, class... U>
149
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
150
151
// mp_valid_and_true
152
template <template <class...> class F, class... T>
153
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
154
template <class Q, class... T>
155
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
156
157
// extension
158
template <template <typename...> class F, typename... T>
159
using mp_valid_result =
160
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
161
template <template <typename...> class F, typename... T>
162
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
163
164
// mp_cond
165
template <class C, class T, class... E>
166
struct mp_cond_impl;
167
168
template <class C, class T, class... E>
169
using mp_cond = typename mp_cond_impl<C, T, E...>::type;
170
171
template <class C, class T, class... E>
172
using mp_cond_ = mp_eval_if<C, T, mp_cond, E...>;
173
174
template <class C, class T, class... E>
175
struct mp_cond_impl : mp_defer<mp_cond_, C, T, E...> {};
176
177
/////////////////////////////////////////////////////////////////
178
// pointer_traits and to_address
179
/////////////////////////////////////////////////////////////////
180
181
template <typename Ptr, typename>
182
struct pointer_traits {};
183
184
template <typename T>
185
struct pointer_traits<T*, void> {
186
    using pointer = T*;
187
    using element_type = T;
188
    using difference_type = std::ptrdiff_t;
189
190
    template <typename U>
191
    using rebind = U*;
192
193
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
194
    static constexpr pointer pointer_to(U& r) noexcept
195
    {
196
        return &r;
197
    }
198
199
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
200
    {
201
        return p;
202
    }
203
};
204
205
template <typename Ptr>
206
using apply_member_difference_type = typename Ptr::difference_type;
207
template <typename Ptr>
208
using get_member_difference_type =
209
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
210
211
template <typename Ptr, typename ElementType>
212
struct pointer_traits_generic_base {
213
    using pointer = Ptr;
214
    using element_type = ElementType;
215
216
    using difference_type = get_member_difference_type<Ptr>;
217
    static_assert(std::is_integral_v<difference_type>);
218
219
    // no rebind (TODO?)
220
221
    template <typename P = Ptr>
222
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
223
    {
224
        return Ptr::pointer_to(r);
225
    }
226
};
227
228
template <typename It, typename = void>
229
struct wrapped_pointer_iterator;
230
231
#ifdef _GLIBCXX_DEBUG
232
template <typename Elem, typename Container>
233
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
234
    SCN_FORCE_INLINE static constexpr auto to_address(
235
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
236
    {
237
        return it.base();
238
    }
239
};
240
#endif
241
#if SCN_STDLIB_GLIBCXX
242
template <typename Elem, typename Container>
243
struct wrapped_pointer_iterator<
244
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
245
    SCN_FORCE_INLINE static constexpr auto to_address(
246
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
247
    {
248
        return it.base();
249
    }
250
};
251
#endif
252
#if SCN_STDLIB_LIBCPP
253
template <typename Elem>
254
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
255
    SCN_FORCE_INLINE static constexpr auto to_address(
256
        const std::__wrap_iter<Elem*>& it) noexcept
257
0
    {
258
0
        return it.base();
259
0
    }
260
};
261
#endif
262
263
template <typename I>
264
using apply_deref = decltype(*SCN_DECLVAL(I&));
265
template <typename I>
266
using apply_incr = decltype(++SCN_DECLVAL(I&));
267
template <typename I>
268
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
269
template <typename It>
270
struct wrapped_pointer_iterator<
271
    It,
272
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
273
                     mp_valid_v<apply_incr, It> &&
274
                     mp_valid_v<apply_member_unwrapped, It>>> {
275
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
276
    {
277
        return it._Unwrapped();
278
    }
279
};
280
281
template <typename I>
282
using apply_member_to_address =
283
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
284
285
template <typename Iterator>
286
struct pointer_traits<
287
    Iterator,
288
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
289
    : pointer_traits_generic_base<
290
          Iterator,
291
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
292
    SCN_FORCE_INLINE static constexpr auto to_address(
293
        const Iterator& it) noexcept
294
0
    {
295
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
296
0
    }
297
};
298
299
template <typename It>
300
using apply_ptr_traits_to_address =
301
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
302
template <typename It>
303
inline constexpr bool can_make_address_from_iterator =
304
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
305
306
template <typename T>
307
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
308
5.18M
{
309
5.18M
    return p;
310
5.18M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
308
4.67M
{
309
4.67M
    return p;
310
4.67M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
308
505k
{
309
505k
    return p;
310
505k
}
311
template <typename Ptr>
312
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
313
                                                priority_tag<1>) noexcept
314
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
315
{
316
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
317
}
318
template <typename Ptr>
319
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
320
                                                priority_tag<0>) noexcept
321
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
322
                                               priority_tag<2>{}))
323
{
324
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
325
}
326
327
template <typename Ptr>
328
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
329
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
330
5.18M
{
331
5.18M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
5.18M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
4.50M
{
331
4.50M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
4.50M
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
173k
{
331
173k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
173k
}
_ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
241k
{
331
241k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
241k
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
263k
{
331
263k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
263k
}
333
334
}  // namespace detail
335
336
/////////////////////////////////////////////////////////////////
337
// <expected> implementation
338
/////////////////////////////////////////////////////////////////
339
340
// The following implementation of expected is based on TartanLlama/expected,
341
// but is heavily modified.
342
//
343
// The original source is here:
344
//     https://github.com/TartanLlama/expected
345
// which is licensed under CC0 (Public Domain).
346
347
/**
348
 * \see `std::unexpected`
349
 */
350
template <typename E>
351
class SCN_TRIVIAL_ABI unexpected {
352
    static_assert(std::is_destructible_v<E>);
353
354
public:
355
    unexpected() = delete;
356
357
    template <
358
        typename Err = E,
359
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
360
                                    !std::is_same_v<Err, std::in_place_t> &&
361
                                    std::is_constructible_v<E, Err>>>
362
    explicit constexpr unexpected(Err&& e) noexcept(
363
        std::is_nothrow_constructible_v<E, Err>)
364
1.00M
        : m_unexpected(std::forward<Err>(e))
365
1.04M
    {
366
1.04M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
1.04M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
364
830k
        : m_unexpected(std::forward<Err>(e))
365
830k
    {
366
830k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
830k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
364
174k
        : m_unexpected(std::forward<Err>(e))
365
174k
    {
366
174k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
174k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Line
Count
Source
364
22
        : m_unexpected(std::forward<Err>(e))
365
22
    {
366
22
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
22
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Line
Count
Source
364
3.71k
        : m_unexpected(std::forward<Err>(e))
365
3.71k
    {
366
3.71k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
3.71k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
Line
Count
Source
364
1.71k
        : m_unexpected(std::forward<Err>(e))
365
1.71k
    {
366
1.71k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
1.71k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
364
368
        : m_unexpected(std::forward<Err>(e))
365
368
    {
366
368
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
368
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
Line
Count
Source
364
33.7k
        : m_unexpected(std::forward<Err>(e))
365
33.7k
    {
366
33.7k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
33.7k
    }
368
369
    template <typename... Args,
370
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
371
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
372
        std::is_nothrow_constructible_v<E, Args...>)
373
1.04M
        : m_unexpected(std::forward<Args>(args)...)
374
1.05M
    {
375
1.05M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
1.05M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
373
1.01M
        : m_unexpected(std::forward<Args>(args)...)
374
1.01M
    {
375
1.01M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
1.01M
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Line
Count
Source
373
4.80k
        : m_unexpected(std::forward<Args>(args)...)
374
4.80k
    {
375
4.80k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
4.80k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
373
33.7k
        : m_unexpected(std::forward<Args>(args)...)
374
33.7k
    {
375
33.7k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
33.7k
    }
377
378
    SCN_NODISCARD constexpr E& error() & noexcept
379
1.71M
    {
380
1.71M
        return m_unexpected;
381
1.71M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
379
1.65M
    {
380
1.65M
        return m_unexpected;
381
1.65M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
379
3.51k
    {
380
3.51k
        return m_unexpected;
381
3.51k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Line
Count
Source
379
22.9k
    {
380
22.9k
        return m_unexpected;
381
22.9k
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
Line
Count
Source
379
33.7k
    {
380
33.7k
        return m_unexpected;
381
33.7k
    }
382
    SCN_NODISCARD constexpr const E& error() const& noexcept
383
0
    {
384
0
        return m_unexpected;
385
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
386
387
    SCN_NODISCARD constexpr E&& error() && noexcept
388
    {
389
        return std::move(m_unexpected);
390
    }
391
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
392
    {
393
        return std::move(m_unexpected);
394
    }
395
396
private:
397
    E m_unexpected;
398
};
399
400
template <typename E>
401
unexpected(E) -> unexpected<E>;
402
403
struct unexpect_t {};
404
inline constexpr unexpect_t unexpect{};
405
406
namespace detail {
407
template <typename T, typename... Args>
408
T* construct_at(T* p, Args&&... args) noexcept(
409
    std::is_nothrow_constructible_v<T, Args...>)
410
262k
{
411
262k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
262k
        T(std::forward<Args>(args)...);
413
262k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
410
182k
{
411
182k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
182k
        T(std::forward<Args>(args)...);
413
182k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
410
6.92k
{
411
6.92k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
6.92k
        T(std::forward<Args>(args)...);
413
6.92k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
410
38.9k
{
411
38.9k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
38.9k
        T(std::forward<Args>(args)...);
413
38.9k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
410
6.92k
{
411
6.92k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
6.92k
        T(std::forward<Args>(args)...);
413
6.92k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
410
13.8k
{
411
13.8k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
13.8k
        T(std::forward<Args>(args)...);
413
13.8k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
410
13.8k
{
411
13.8k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
13.8k
        T(std::forward<Args>(args)...);
413
13.8k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
410
8
{
411
8
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
8
        T(std::forward<Args>(args)...);
413
8
}
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
410
8
{
411
8
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
8
        T(std::forward<Args>(args)...);
413
8
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
414
template <typename T>
415
void destroy_at(T* p) noexcept
416
119k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
119k
    else {
423
119k
        p->~T();
424
119k
    }
425
119k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
6.92k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
6.92k
    else {
423
6.92k
        p->~T();
424
6.92k
    }
425
6.92k
}
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
416
77.6k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
77.6k
    else {
423
77.6k
        p->~T();
424
77.6k
    }
425
77.6k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
416
6.92k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
6.92k
    else {
423
6.92k
        p->~T();
424
6.92k
    }
425
6.92k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
13.8k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
13.8k
    else {
423
13.8k
        p->~T();
424
13.8k
    }
425
13.8k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
416
13.8k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
13.8k
    else {
423
13.8k
        p->~T();
424
13.8k
    }
425
13.8k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
8
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
8
    else {
423
8
        p->~T();
424
8
    }
425
8
}
void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
8
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
8
    else {
423
8
        p->~T();
424
8
    }
425
8
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
426
427
struct deferred_init_tag_t {};
428
static constexpr deferred_init_tag_t deferred_init_tag{};
429
430
template <typename T,
431
          typename E,
432
          bool IsTriviallyDestructible =
433
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
434
              std::is_trivially_destructible_v<E>>
435
struct expected_storage_base;
436
437
template <typename T, typename E>
438
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
439
    constexpr expected_storage_base() noexcept(
440
        std::is_nothrow_default_constructible_v<T>)
441
145k
        : m_value(T{}), m_has_value(true)
442
145k
    {
443
145k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
6.92k
        : m_value(T{}), m_has_value(true)
442
6.92k
    {
443
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
13.8k
        : m_value(T{}), m_has_value(true)
442
13.8k
    {
443
13.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
444
445
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
446
        : m_deferred_init(), m_has_value(false)
447
    {
448
    }
449
450
    template <typename... Args,
451
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
452
    constexpr explicit expected_storage_base(
453
        std::in_place_t,
454
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
455
232k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
232k
    {
457
232k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
455
2.68k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.68k
    {
457
2.68k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
455
2.15k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.15k
    {
457
2.15k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
455
11.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
11.4k
    {
457
11.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
455
5.82k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
5.82k
    {
457
5.82k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
455
2.85k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.85k
    {
457
2.85k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
455
11.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
11.9k
    {
457
11.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
1.54k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.54k
    {
457
1.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
455
2.14k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.14k
    {
457
2.14k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
455
1.15k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.15k
    {
457
1.15k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
455
1.15k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.15k
    {
457
1.15k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
3.71k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
3.71k
    {
457
3.71k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
455
2.78k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.78k
    {
457
2.78k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
455
2.78k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.78k
    {
457
2.78k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
394
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
394
    {
457
394
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
930
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
930
    {
457
930
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
455
882
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
882
    {
457
882
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
455
3.59k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
3.59k
    {
457
3.59k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
455
2.95k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.95k
    {
457
2.95k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
455
2.01k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.01k
    {
457
2.01k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
455
7.66k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
7.66k
    {
457
7.66k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
455
58
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
58
    {
457
58
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
1.01k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.01k
    {
457
1.01k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
455
1.34k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.34k
    {
457
1.34k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
455
764
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
764
    {
457
764
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
455
764
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
764
    {
457
764
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
4.17k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
4.17k
    {
457
4.17k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
455
3.10k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
3.10k
    {
457
3.10k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
455
3.10k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
3.10k
    {
457
3.10k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
246
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
246
    {
457
246
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
455
44
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
44
    {
457
44
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
1.07k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.07k
    {
457
1.07k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
455
534
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
534
    {
457
534
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
455
3.43k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
3.43k
    {
457
3.43k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
455
2.25k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.25k
    {
457
2.25k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
455
1.55k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.55k
    {
457
1.55k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
455
1.55k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.55k
    {
457
1.55k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
24.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
24.0k
    {
457
24.0k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
21.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
21.9k
    {
457
21.9k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
52.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
52.6k
    {
457
52.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
1.99k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.99k
    {
457
1.99k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
455
5.05k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
5.05k
    {
457
5.05k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
455
2.62k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.62k
    {
457
2.62k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
21.7k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
21.7k
    {
457
21.7k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
455
100
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
100
    {
457
100
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
6.21k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
6.21k
    {
457
6.21k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
455
88
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
88
    {
457
88
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
455
690
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
690
    {
457
690
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<unsigned long, void>(std::__1::in_place_t, unsigned long&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
458
459
    template <typename... Args,
460
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
461
    constexpr explicit expected_storage_base(
462
        unexpect_t,
463
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
464
626k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
626k
          m_has_value(false)
466
626k
    {
467
626k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.64k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.64k
          m_has_value(false)
466
6.64k
    {
467
6.64k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
59.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
59.5k
          m_has_value(false)
466
59.5k
    {
467
59.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.92k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.92k
          m_has_value(false)
466
6.92k
    {
467
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.92k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.92k
          m_has_value(false)
466
6.92k
    {
467
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.92k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.92k
          m_has_value(false)
466
6.92k
    {
467
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.92k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.92k
          m_has_value(false)
466
6.92k
    {
467
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.92k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.92k
          m_has_value(false)
466
6.92k
    {
467
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
6.11k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.11k
          m_has_value(false)
466
6.11k
    {
467
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.5k
          m_has_value(false)
466
13.5k
    {
467
13.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
122k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
122k
          m_has_value(false)
466
122k
    {
467
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.8k
          m_has_value(false)
466
13.8k
    {
467
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.8k
          m_has_value(false)
466
13.8k
    {
467
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.7k
          m_has_value(false)
466
13.7k
    {
467
13.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.8k
          m_has_value(false)
466
13.8k
    {
467
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.8k
          m_has_value(false)
466
13.8k
    {
467
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
13.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
13.2k
          m_has_value(false)
466
13.2k
    {
467
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
185k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
185k
          m_has_value(false)
466
185k
    {
467
185k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
39.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
39.0k
          m_has_value(false)
466
39.0k
    {
467
39.0k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
22.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
22.7k
          m_has_value(false)
466
22.7k
    {
467
22.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
530
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
530
          m_has_value(false)
466
530
    {
467
530
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
530
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
530
          m_has_value(false)
466
530
    {
467
530
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
238
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
238
          m_has_value(false)
466
238
    {
467
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
8.28k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
8.28k
          m_has_value(false)
466
8.28k
    {
467
8.28k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
1.31k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.31k
          m_has_value(false)
466
1.31k
    {
467
1.31k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
6.06k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
6.06k
          m_has_value(false)
466
6.06k
    {
467
6.06k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
1.14k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.14k
          m_has_value(false)
466
1.14k
    {
467
1.14k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
11.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
11.4k
          m_has_value(false)
466
11.4k
    {
467
11.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
182
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
182
          m_has_value(false)
466
182
    {
467
182
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
340
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
340
          m_has_value(false)
466
340
    {
467
340
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
116
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
116
          m_has_value(false)
466
116
    {
467
116
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
3.76k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
3.76k
          m_has_value(false)
466
3.76k
    {
467
3.76k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
912
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
912
          m_has_value(false)
466
912
    {
467
912
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
3.79k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
3.79k
          m_has_value(false)
466
3.79k
    {
467
3.79k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
1.44k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.44k
          m_has_value(false)
466
1.44k
    {
467
1.44k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
12.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
12.4k
          m_has_value(false)
466
12.4k
    {
467
12.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
382
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
382
          m_has_value(false)
466
382
    {
467
382
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
238
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
238
          m_has_value(false)
466
238
    {
467
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
116
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
116
          m_has_value(false)
466
116
    {
467
116
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
116
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
116
          m_has_value(false)
466
116
    {
467
116
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
468
469
    constexpr T& get_value() & noexcept
470
363k
    {
471
363k
        return m_value;
472
363k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
7.19k
    {
471
7.19k
        return m_value;
472
7.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.68k
    {
471
2.68k
        return m_value;
472
2.68k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
5.05k
    {
471
5.05k
        return m_value;
472
5.05k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
6.92k
    {
471
6.92k
        return m_value;
472
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
6.92k
    {
471
6.92k
        return m_value;
472
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
6.92k
    {
471
6.92k
        return m_value;
472
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
6.92k
    {
471
6.92k
        return m_value;
472
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
6.92k
    {
471
6.92k
        return m_value;
472
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
7.72k
    {
471
7.72k
        return m_value;
472
7.72k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
14.1k
    {
471
14.1k
        return m_value;
472
14.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.15k
    {
471
2.15k
        return m_value;
472
2.15k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
13.8k
    {
471
13.8k
        return m_value;
472
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
13.8k
    {
471
13.8k
        return m_value;
472
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
13.8k
    {
471
13.8k
        return m_value;
472
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
13.8k
    {
471
13.8k
        return m_value;
472
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
13.8k
    {
471
13.8k
        return m_value;
472
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
14.4k
    {
471
14.4k
        return m_value;
472
14.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
25.7k
    {
471
25.7k
        return m_value;
472
25.7k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
21.6k
    {
471
21.6k
        return m_value;
472
21.6k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
47.3k
    {
471
47.3k
        return m_value;
472
47.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
9.39k
    {
471
9.39k
        return m_value;
472
9.39k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
5.82k
    {
471
5.82k
        return m_value;
472
5.82k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
11.9k
    {
471
11.9k
        return m_value;
472
11.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
2.14k
    {
471
2.14k
        return m_value;
472
2.14k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
1.54k
    {
471
1.54k
        return m_value;
472
1.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
1.15k
    {
471
1.15k
        return m_value;
472
1.15k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
1.15k
    {
471
1.15k
        return m_value;
472
1.15k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
3.73k
    {
471
3.73k
        return m_value;
472
3.73k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
1.99k
    {
471
1.99k
        return m_value;
472
1.99k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
3.71k
    {
471
3.71k
        return m_value;
472
3.71k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
2.78k
    {
471
2.78k
        return m_value;
472
2.78k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.78k
    {
471
2.78k
        return m_value;
472
2.78k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
394
    {
471
394
        return m_value;
472
394
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
930
    {
471
930
        return m_value;
472
930
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
15.5k
    {
471
15.5k
        return m_value;
472
15.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
2.03k
    {
471
2.03k
        return m_value;
472
2.03k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.95k
    {
471
2.95k
        return m_value;
472
2.95k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
7.66k
    {
471
7.66k
        return m_value;
472
7.66k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
1.42k
    {
471
1.42k
        return m_value;
472
1.42k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
1.01k
    {
471
1.01k
        return m_value;
472
1.01k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
764
    {
471
764
        return m_value;
472
764
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
764
    {
471
764
        return m_value;
472
764
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.56k
    {
471
2.56k
        return m_value;
472
2.56k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
6.32k
    {
471
6.32k
        return m_value;
472
6.32k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
4.17k
    {
471
4.17k
        return m_value;
472
4.17k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
3.10k
    {
471
3.10k
        return m_value;
472
3.10k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
3.10k
    {
471
3.10k
        return m_value;
472
3.10k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
246
    {
471
246
        return m_value;
472
246
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
1.07k
    {
471
1.07k
        return m_value;
472
1.07k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
4.01k
    {
471
4.01k
        return m_value;
472
4.01k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.25k
    {
471
2.25k
        return m_value;
472
2.25k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
1.55k
    {
471
1.55k
        return m_value;
472
1.55k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
1.55k
    {
471
1.55k
        return m_value;
472
1.55k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
473
    constexpr const T& get_value() const& noexcept
474
0
    {
475
0
        return m_value;
476
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
477
    constexpr T&& get_value() && noexcept
478
0
    {
479
0
        return std::move(m_value);
480
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
481
    constexpr const T&& get_value() const&& noexcept
482
    {
483
        return std::move(m_value);
484
    }
485
486
    constexpr unexpected<E>& get_unexpected() & noexcept
487
607k
    {
488
607k
        return m_unexpected;
489
607k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
59.5k
    {
488
59.5k
        return m_unexpected;
489
59.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.64k
    {
488
6.64k
        return m_unexpected;
489
6.64k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
189k
    {
488
189k
        return m_unexpected;
489
189k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.92k
    {
488
6.92k
        return m_unexpected;
489
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.92k
    {
488
6.92k
        return m_unexpected;
489
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.92k
    {
488
6.92k
        return m_unexpected;
489
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.92k
    {
488
6.92k
        return m_unexpected;
489
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.92k
    {
488
6.92k
        return m_unexpected;
489
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
6.11k
    {
488
6.11k
        return m_unexpected;
489
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
122k
    {
488
122k
        return m_unexpected;
489
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.5k
    {
488
13.5k
        return m_unexpected;
489
13.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.8k
    {
488
13.8k
        return m_unexpected;
489
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.8k
    {
488
13.8k
        return m_unexpected;
489
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.7k
    {
488
13.7k
        return m_unexpected;
489
13.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.8k
    {
488
13.8k
        return m_unexpected;
489
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.8k
    {
488
13.8k
        return m_unexpected;
489
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
13.2k
    {
488
13.2k
        return m_unexpected;
489
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
38.1k
    {
488
38.1k
        return m_unexpected;
489
38.1k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
21.7k
    {
488
21.7k
        return m_unexpected;
489
21.7k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
102
    {
488
102
        return m_unexpected;
489
102
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
460
    {
488
460
        return m_unexpected;
489
460
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
238
    {
488
238
        return m_unexpected;
489
238
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
4.31k
    {
488
4.31k
        return m_unexpected;
489
4.31k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
7.88k
    {
488
7.88k
        return m_unexpected;
489
7.88k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
5.69k
    {
488
5.69k
        return m_unexpected;
489
5.69k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
340
    {
488
340
        return m_unexpected;
489
340
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
116
    {
488
116
        return m_unexpected;
489
116
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
182
    {
488
182
        return m_unexpected;
489
182
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
2.70k
    {
488
2.70k
        return m_unexpected;
489
2.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
3.51k
    {
488
3.51k
        return m_unexpected;
489
3.51k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
6.53k
    {
488
6.53k
        return m_unexpected;
489
6.53k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
238
    {
488
238
        return m_unexpected;
489
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
238
    {
488
238
        return m_unexpected;
489
238
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
116
    {
488
116
        return m_unexpected;
489
116
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
116
    {
488
116
        return m_unexpected;
489
116
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
490
    constexpr const unexpected<E>& get_unexpected() const& noexcept
491
0
    {
492
0
        return m_unexpected;
493
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
494
    constexpr unexpected<E>&& get_unexpected() && noexcept
495
143k
    {
496
143k
        return std::move(m_unexpected);
497
143k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.64k
    {
496
6.64k
        return std::move(m_unexpected);
497
6.64k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.92k
    {
496
6.92k
        return std::move(m_unexpected);
497
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.92k
    {
496
6.92k
        return std::move(m_unexpected);
497
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.92k
    {
496
6.92k
        return std::move(m_unexpected);
497
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.92k
    {
496
6.92k
        return std::move(m_unexpected);
497
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.92k
    {
496
6.92k
        return std::move(m_unexpected);
497
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
6.11k
    {
496
6.11k
        return std::move(m_unexpected);
497
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.5k
    {
496
13.5k
        return std::move(m_unexpected);
497
13.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.8k
    {
496
13.8k
        return std::move(m_unexpected);
497
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.8k
    {
496
13.8k
        return std::move(m_unexpected);
497
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.7k
    {
496
13.7k
        return std::move(m_unexpected);
497
13.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.8k
    {
496
13.8k
        return std::move(m_unexpected);
497
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.8k
    {
496
13.8k
        return std::move(m_unexpected);
497
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
13.2k
    {
496
13.2k
        return std::move(m_unexpected);
497
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
498
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
499
    {
500
        return std::move(m_unexpected);
501
    }
502
503
    SCN_NODISCARD constexpr bool has_value() const noexcept
504
1.84M
    {
505
1.84M
        return m_has_value;
506
1.84M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
124k
    {
505
124k
        return m_has_value;
506
124k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
20.4k
    {
505
20.4k
        return m_has_value;
506
20.4k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
387k
    {
505
387k
        return m_has_value;
506
387k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
20.7k
    {
505
20.7k
        return m_has_value;
506
20.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
20.7k
    {
505
20.7k
        return m_has_value;
506
20.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
20.7k
    {
505
20.7k
        return m_has_value;
506
20.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
20.7k
    {
505
20.7k
        return m_has_value;
506
20.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
20.7k
    {
505
20.7k
        return m_has_value;
506
20.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
19.9k
    {
505
19.9k
        return m_has_value;
506
19.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
249k
    {
505
249k
        return m_has_value;
506
249k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
41.2k
    {
505
41.2k
        return m_has_value;
506
41.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
41.4k
    {
505
41.4k
        return m_has_value;
506
41.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
41.4k
    {
505
41.4k
        return m_has_value;
506
41.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
41.4k
    {
505
41.4k
        return m_has_value;
506
41.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
41.4k
    {
505
41.4k
        return m_has_value;
506
41.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
41.5k
    {
505
41.5k
        return m_has_value;
506
41.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
40.9k
    {
505
40.9k
        return m_has_value;
506
40.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
130k
    {
505
130k
        return m_has_value;
506
130k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
89.8k
    {
505
89.8k
        return m_has_value;
506
89.8k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
100k
    {
505
100k
        return m_has_value;
506
100k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
21.7k
    {
505
21.7k
        return m_has_value;
506
21.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
12.1k
    {
505
12.1k
        return m_has_value;
506
12.1k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
23.8k
    {
505
23.8k
        return m_has_value;
506
23.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
17.1k
    {
505
17.1k
        return m_has_value;
506
17.1k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
3.08k
    {
505
3.08k
        return m_has_value;
506
3.08k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
2.30k
    {
505
2.30k
        return m_has_value;
506
2.30k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
2.30k
    {
505
2.30k
        return m_has_value;
506
2.30k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
24.0k
    {
505
24.0k
        return m_has_value;
506
24.0k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
24.1k
    {
505
24.1k
        return m_has_value;
506
24.1k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
7.42k
    {
505
7.42k
        return m_has_value;
506
7.42k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
5.56k
    {
505
5.56k
        return m_has_value;
506
5.56k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
5.56k
    {
505
5.56k
        return m_has_value;
506
5.56k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
788
    {
505
788
        return m_has_value;
506
788
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
1.86k
    {
505
1.86k
        return m_has_value;
506
1.86k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
37.5k
    {
505
37.5k
        return m_has_value;
506
37.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
6.31k
    {
505
6.31k
        return m_has_value;
506
6.31k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
6.13k
    {
505
6.13k
        return m_has_value;
506
6.13k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
15.3k
    {
505
15.3k
        return m_has_value;
506
15.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
10.9k
    {
505
10.9k
        return m_has_value;
506
10.9k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
2.02k
    {
505
2.02k
        return m_has_value;
506
2.02k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
1.52k
    {
505
1.52k
        return m_has_value;
506
1.52k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
1.52k
    {
505
1.52k
        return m_has_value;
506
1.52k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
12.6k
    {
505
12.6k
        return m_has_value;
506
12.6k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
35.2k
    {
505
35.2k
        return m_has_value;
506
35.2k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
8.35k
    {
505
8.35k
        return m_has_value;
506
8.35k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
6.20k
    {
505
6.20k
        return m_has_value;
506
6.20k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
6.20k
    {
505
6.20k
        return m_has_value;
506
6.20k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
492
    {
505
492
        return m_has_value;
506
492
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
2.15k
    {
505
2.15k
        return m_has_value;
506
2.15k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
8.06k
    {
505
8.06k
        return m_has_value;
506
8.06k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
4.98k
    {
505
4.98k
        return m_has_value;
506
4.98k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
3.33k
    {
505
3.33k
        return m_has_value;
506
3.33k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
3.33k
    {
505
3.33k
        return m_has_value;
506
3.33k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
507
508
    template <typename... Args>
509
    void construct(Args&&... args) noexcept(
510
        std::is_nothrow_constructible_v<T, Args...>)
511
0
    {
512
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
513
0
        m_has_value = true;
514
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
515
    template <typename... Args>
516
    void construct_unexpected(Args&&... args) noexcept(
517
        std::is_nothrow_constructible_v<E, Args...>)
518
143k
    {
519
143k
        scn::detail::construct_at(&get_unexpected(),
520
143k
                                  std::forward<Args>(args)...);
521
143k
        m_has_value = false;
522
143k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.64k
    {
519
6.64k
        scn::detail::construct_at(&get_unexpected(),
520
6.64k
                                  std::forward<Args>(args)...);
521
6.64k
        m_has_value = false;
522
6.64k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.92k
    {
519
6.92k
        scn::detail::construct_at(&get_unexpected(),
520
6.92k
                                  std::forward<Args>(args)...);
521
6.92k
        m_has_value = false;
522
6.92k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.92k
    {
519
6.92k
        scn::detail::construct_at(&get_unexpected(),
520
6.92k
                                  std::forward<Args>(args)...);
521
6.92k
        m_has_value = false;
522
6.92k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.92k
    {
519
6.92k
        scn::detail::construct_at(&get_unexpected(),
520
6.92k
                                  std::forward<Args>(args)...);
521
6.92k
        m_has_value = false;
522
6.92k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.92k
    {
519
6.92k
        scn::detail::construct_at(&get_unexpected(),
520
6.92k
                                  std::forward<Args>(args)...);
521
6.92k
        m_has_value = false;
522
6.92k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.92k
    {
519
6.92k
        scn::detail::construct_at(&get_unexpected(),
520
6.92k
                                  std::forward<Args>(args)...);
521
6.92k
        m_has_value = false;
522
6.92k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
6.11k
    {
519
6.11k
        scn::detail::construct_at(&get_unexpected(),
520
6.11k
                                  std::forward<Args>(args)...);
521
6.11k
        m_has_value = false;
522
6.11k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.5k
    {
519
13.5k
        scn::detail::construct_at(&get_unexpected(),
520
13.5k
                                  std::forward<Args>(args)...);
521
13.5k
        m_has_value = false;
522
13.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.8k
    {
519
13.8k
        scn::detail::construct_at(&get_unexpected(),
520
13.8k
                                  std::forward<Args>(args)...);
521
13.8k
        m_has_value = false;
522
13.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.8k
    {
519
13.8k
        scn::detail::construct_at(&get_unexpected(),
520
13.8k
                                  std::forward<Args>(args)...);
521
13.8k
        m_has_value = false;
522
13.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.7k
    {
519
13.7k
        scn::detail::construct_at(&get_unexpected(),
520
13.7k
                                  std::forward<Args>(args)...);
521
13.7k
        m_has_value = false;
522
13.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.8k
    {
519
13.8k
        scn::detail::construct_at(&get_unexpected(),
520
13.8k
                                  std::forward<Args>(args)...);
521
13.8k
        m_has_value = false;
522
13.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.8k
    {
519
13.8k
        scn::detail::construct_at(&get_unexpected(),
520
13.8k
                                  std::forward<Args>(args)...);
521
13.8k
        m_has_value = false;
522
13.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
13.2k
    {
519
13.2k
        scn::detail::construct_at(&get_unexpected(),
520
13.2k
                                  std::forward<Args>(args)...);
521
13.2k
        m_has_value = false;
522
13.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
523
524
    // No-op, because T and E are trivially destructible
525
143k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.64k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.92k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.92k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.92k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.92k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.92k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
6.11k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.5k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.7k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
13.2k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
526
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
527
528
private:
529
    union {
530
        T m_value;
531
        unexpected<E> m_unexpected;
532
        char m_deferred_init;
533
    };
534
    bool m_has_value;
535
};
536
537
template <typename E>
538
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
539
#if SCN_STD >= SCN_STD_20
540
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
541
#else
542
    constexpr expected_storage_base() noexcept
543
470k
        : m_deferred_init(), m_has_value(true)
544
470k
    {
545
470k
    }
546
#endif
547
548
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
549
        : m_deferred_init(), m_has_value(false)
550
    {
551
    }
552
553
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
554
        : m_has_value(true)
555
    {
556
    }
557
558
    template <typename... Args,
559
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
560
    explicit constexpr expected_storage_base(
561
        unexpect_t,
562
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
563
385k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
564
385k
          m_has_value(false)
565
385k
    {
566
385k
    }
567
568
    constexpr unexpected<E>& get_unexpected() & noexcept
569
208k
    {
570
208k
        return m_unexpected;
571
208k
    }
572
    constexpr const unexpected<E>& get_unexpected() const& noexcept
573
    {
574
        return m_unexpected;
575
    }
576
    constexpr unexpected<E>&& get_unexpected() && noexcept
577
    {
578
        return std::move(m_unexpected);
579
    }
580
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
581
    {
582
        return std::move(m_unexpected);
583
    }
584
585
    SCN_NODISCARD constexpr bool has_value() const noexcept
586
3.92M
    {
587
3.92M
        return m_has_value;
588
3.92M
    }
589
590
    template <typename... Args>
591
    void construct(Args&&...) noexcept
592
    {
593
        m_has_value = true;
594
    }
595
    template <typename... Args>
596
    void construct_unexpected(Args&&... args) noexcept(
597
        std::is_nothrow_constructible_v<E, Args...>)
598
    {
599
        scn::detail::construct_at(&get_unexpected(),
600
                                  std::forward<Args>(args)...);
601
        m_has_value = false;
602
    }
603
604
    static constexpr void destroy_value() noexcept {}
605
    static constexpr void destroy_unexpected() noexcept {}
606
607
private:
608
    union {
609
        unexpected<E> m_unexpected;
610
        char m_deferred_init;
611
    };
612
    bool m_has_value;
613
};
614
615
/**
616
 * Implementation of `std::max` without including `<algorithm>`
617
 */
618
template <typename T>
619
constexpr T max(T a, T b) noexcept
620
0
{
621
0
    return (a < b) ? b : a;
622
0
}
623
624
template <typename T, typename E>
625
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
626
41.5k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
41.5k
    {
628
41.5k
        construct();
629
41.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
6.92k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
6.92k
    {
628
6.92k
        construct();
629
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
6.92k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
6.92k
    {
628
6.92k
        construct();
629
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
13.8k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
13.8k
    {
628
13.8k
        construct();
629
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
13.8k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
13.8k
    {
628
13.8k
        construct();
629
13.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
630
631
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
632
        : m_has_value(false)
633
    {
634
    }
635
636
    template <typename... Args,
637
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
638
    explicit constexpr expected_storage_base(
639
        std::in_place_t,
640
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
641
16
        : m_has_value(true)
642
16
    {
643
16
        construct(std::forward<Args>(args)...);
644
16
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
641
8
        : m_has_value(true)
642
8
    {
643
8
        construct(std::forward<Args>(args)...);
644
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
641
8
        : m_has_value(true)
642
8
    {
643
8
        construct(std::forward<Args>(args)...);
644
8
    }
645
646
    template <typename... Args,
647
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
648
    explicit constexpr expected_storage_base(
649
        unexpect_t,
650
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
651
38.9k
        : m_has_value(false)
652
38.9k
    {
653
38.9k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
38.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
6.11k
        : m_has_value(false)
652
6.11k
    {
653
6.11k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
6.11k
        : m_has_value(false)
652
6.11k
    {
653
6.11k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
13.2k
        : m_has_value(false)
652
13.2k
    {
653
13.2k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
13.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
13.2k
        : m_has_value(false)
652
13.2k
    {
653
13.2k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
24
        : m_has_value(false)
652
24
    {
653
24
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
24
        : m_has_value(false)
652
24
    {
653
24
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
24
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
44
        : m_has_value(false)
652
44
    {
653
44
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
44
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
44
        : m_has_value(false)
652
44
    {
653
44
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
44
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
655
656
    ~expected_storage_base()
657
80.4k
    {
658
80.4k
        if (has_value()) {
659
2.76k
            destroy_value();
660
2.76k
        }
661
77.6k
        else {
662
77.6k
            destroy_unexpected();
663
77.6k
        }
664
80.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
13.0k
    {
658
13.0k
        if (has_value()) {
659
802
            destroy_value();
660
802
        }
661
12.2k
        else {
662
12.2k
            destroy_unexpected();
663
12.2k
        }
664
13.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
13.0k
    {
658
13.0k
        if (has_value()) {
659
802
            destroy_value();
660
802
        }
661
12.2k
        else {
662
12.2k
            destroy_unexpected();
663
12.2k
        }
664
13.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
27.1k
    {
658
27.1k
        if (has_value()) {
659
570
            destroy_value();
660
570
        }
661
26.5k
        else {
662
26.5k
            destroy_unexpected();
663
26.5k
        }
664
27.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
27.1k
    {
658
27.1k
        if (has_value()) {
659
570
            destroy_value();
660
570
        }
661
26.5k
        else {
662
26.5k
            destroy_unexpected();
663
26.5k
        }
664
27.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
24
    {
658
24
        if (has_value()) {
659
0
            destroy_value();
660
0
        }
661
24
        else {
662
24
            destroy_unexpected();
663
24
        }
664
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
24
    {
658
24
        if (has_value()) {
659
0
            destroy_value();
660
0
        }
661
24
        else {
662
24
            destroy_unexpected();
663
24
        }
664
24
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
52
    {
658
52
        if (has_value()) {
659
8
            destroy_value();
660
8
        }
661
44
        else {
662
44
            destroy_unexpected();
663
44
        }
664
52
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
52
    {
658
52
        if (has_value()) {
659
8
            destroy_value();
660
8
        }
661
44
        else {
662
44
            destroy_unexpected();
663
44
        }
664
52
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
665
666
    constexpr T& get_value() & noexcept
667
44.2k
    {
668
44.2k
        return *value_ptr();
669
44.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
7.72k
    {
668
7.72k
        return *value_ptr();
669
7.72k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
7.72k
    {
668
7.72k
        return *value_ptr();
669
7.72k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
14.4k
    {
668
14.4k
        return *value_ptr();
669
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
14.4k
    {
668
14.4k
        return *value_ptr();
669
14.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
8
    {
668
8
        return *value_ptr();
669
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
8
    {
668
8
        return *value_ptr();
669
8
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
670
    constexpr const T& get_value() const& noexcept
671
    {
672
        return *value_ptr();
673
    }
674
    constexpr T&& get_value() && noexcept
675
0
    {
676
0
        return std::move(*value_ptr());
677
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
678
    constexpr const T&& get_value() const&& noexcept
679
    {
680
        return std::move(*value_ptr());
681
    }
682
683
    constexpr unexpected<E>& get_unexpected() & noexcept
684
136
    {
685
136
        return *unexpected_ptr();
686
136
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
24
    {
685
24
        return *unexpected_ptr();
686
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
24
    {
685
24
        return *unexpected_ptr();
686
24
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
44
    {
685
44
        return *unexpected_ptr();
686
44
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
44
    {
685
44
        return *unexpected_ptr();
686
44
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
687
    constexpr const unexpected<E>& get_unexpected() const& noexcept
688
    {
689
        return *unexpected_ptr();
690
    }
691
    constexpr unexpected<E>&& get_unexpected() && noexcept
692
38.7k
    {
693
38.7k
        return std::move(*unexpected_ptr());
694
38.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
6.11k
    {
693
6.11k
        return std::move(*unexpected_ptr());
694
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
6.11k
    {
693
6.11k
        return std::move(*unexpected_ptr());
694
6.11k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
13.2k
    {
693
13.2k
        return std::move(*unexpected_ptr());
694
13.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
13.2k
    {
693
13.2k
        return std::move(*unexpected_ptr());
694
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
695
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
696
    {
697
        return std::move(*unexpected_ptr());
698
    }
699
700
    SCN_NODISCARD constexpr bool has_value() const noexcept
701
202k
    {
702
202k
        return m_has_value;
703
202k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
32.9k
    {
702
32.9k
        return m_has_value;
703
32.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
32.9k
    {
702
32.9k
        return m_has_value;
703
32.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
68.0k
    {
702
68.0k
        return m_has_value;
703
68.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
68.0k
    {
702
68.0k
        return m_has_value;
703
68.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
72
    {
702
72
        return m_has_value;
703
72
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
72
    {
702
72
        return m_has_value;
703
72
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
156
    {
702
156
        return m_has_value;
703
156
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
156
    {
702
156
        return m_has_value;
703
156
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
704
705
    template <typename... Args>
706
    void construct(Args&&... args) noexcept(
707
        std::is_nothrow_constructible_v<T, Args...>)
708
41.5k
    {
709
41.5k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
41.5k
        m_has_value = true;
711
41.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
6.92k
    {
709
6.92k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
6.92k
        m_has_value = true;
711
6.92k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
6.92k
    {
709
6.92k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
6.92k
        m_has_value = true;
711
6.92k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
13.8k
    {
709
13.8k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
13.8k
        m_has_value = true;
711
13.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
13.8k
    {
709
13.8k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
13.8k
        m_has_value = true;
711
13.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
708
8
    {
709
8
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
8
        m_has_value = true;
711
8
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
708
8
    {
709
8
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
8
        m_has_value = true;
711
8
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
712
    template <typename... Args>
713
    void construct_unexpected(Args&&... args) noexcept(
714
        std::is_nothrow_constructible_v<E, Args...>)
715
77.6k
    {
716
77.6k
        scn::detail::construct_at(unexpected_ptr(),
717
77.6k
                                  std::forward<Args>(args)...);
718
77.6k
        m_has_value = false;
719
77.6k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
6.11k
    {
716
6.11k
        scn::detail::construct_at(unexpected_ptr(),
717
6.11k
                                  std::forward<Args>(args)...);
718
6.11k
        m_has_value = false;
719
6.11k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
6.11k
    {
716
6.11k
        scn::detail::construct_at(unexpected_ptr(),
717
6.11k
                                  std::forward<Args>(args)...);
718
6.11k
        m_has_value = false;
719
6.11k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
6.11k
    {
716
6.11k
        scn::detail::construct_at(unexpected_ptr(),
717
6.11k
                                  std::forward<Args>(args)...);
718
6.11k
        m_has_value = false;
719
6.11k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
6.11k
    {
716
6.11k
        scn::detail::construct_at(unexpected_ptr(),
717
6.11k
                                  std::forward<Args>(args)...);
718
6.11k
        m_has_value = false;
719
6.11k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
13.2k
    {
716
13.2k
        scn::detail::construct_at(unexpected_ptr(),
717
13.2k
                                  std::forward<Args>(args)...);
718
13.2k
        m_has_value = false;
719
13.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
13.2k
    {
716
13.2k
        scn::detail::construct_at(unexpected_ptr(),
717
13.2k
                                  std::forward<Args>(args)...);
718
13.2k
        m_has_value = false;
719
13.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
13.2k
    {
716
13.2k
        scn::detail::construct_at(unexpected_ptr(),
717
13.2k
                                  std::forward<Args>(args)...);
718
13.2k
        m_has_value = false;
719
13.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
13.2k
    {
716
13.2k
        scn::detail::construct_at(unexpected_ptr(),
717
13.2k
                                  std::forward<Args>(args)...);
718
13.2k
        m_has_value = false;
719
13.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
24
    {
716
24
        scn::detail::construct_at(unexpected_ptr(),
717
24
                                  std::forward<Args>(args)...);
718
24
        m_has_value = false;
719
24
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
24
    {
716
24
        scn::detail::construct_at(unexpected_ptr(),
717
24
                                  std::forward<Args>(args)...);
718
24
        m_has_value = false;
719
24
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
44
    {
716
44
        scn::detail::construct_at(unexpected_ptr(),
717
44
                                  std::forward<Args>(args)...);
718
44
        m_has_value = false;
719
44
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
44
    {
716
44
        scn::detail::construct_at(unexpected_ptr(),
717
44
                                  std::forward<Args>(args)...);
718
44
        m_has_value = false;
719
44
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
720
721
    void destroy_value() noexcept
722
41.5k
    {
723
41.5k
        scn::detail::destroy_at(value_ptr());
724
41.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
6.92k
    {
723
6.92k
        scn::detail::destroy_at(value_ptr());
724
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
6.92k
    {
723
6.92k
        scn::detail::destroy_at(value_ptr());
724
6.92k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
13.8k
    {
723
13.8k
        scn::detail::destroy_at(value_ptr());
724
13.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
13.8k
    {
723
13.8k
        scn::detail::destroy_at(value_ptr());
724
13.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
8
    {
723
8
        scn::detail::destroy_at(value_ptr());
724
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
8
    {
723
8
        scn::detail::destroy_at(value_ptr());
724
8
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
725
    void destroy_unexpected() noexcept
726
77.6k
    {
727
77.6k
        scn::detail::destroy_at(unexpected_ptr());
728
77.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
12.2k
    {
727
12.2k
        scn::detail::destroy_at(unexpected_ptr());
728
12.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
12.2k
    {
727
12.2k
        scn::detail::destroy_at(unexpected_ptr());
728
12.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
26.5k
    {
727
26.5k
        scn::detail::destroy_at(unexpected_ptr());
728
26.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
26.5k
    {
727
26.5k
        scn::detail::destroy_at(unexpected_ptr());
728
26.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
24
    {
727
24
        scn::detail::destroy_at(unexpected_ptr());
728
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
24
    {
727
24
        scn::detail::destroy_at(unexpected_ptr());
728
24
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
44
    {
727
44
        scn::detail::destroy_at(unexpected_ptr());
728
44
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
44
    {
727
44
        scn::detail::destroy_at(unexpected_ptr());
728
44
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
729
730
private:
731
    T* value_ptr() noexcept
732
127k
    {
733
127k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
127k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
21.5k
    {
733
21.5k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
21.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
21.5k
    {
733
21.5k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
21.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
42.0k
    {
733
42.0k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
42.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
42.0k
    {
733
42.0k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
42.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
24
    {
733
24
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
24
    {
733
24
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
24
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
735
    const T* value_ptr() const noexcept
736
    {
737
        return reinterpret_cast<const T*>(
738
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
739
    }
740
741
    SCN_GCC_PUSH
742
    SCN_GCC_IGNORE("-Wcast-align")
743
    unexpected<E>* unexpected_ptr() noexcept
744
194k
    {
745
194k
        return reinterpret_cast<unexpected<E>*>(
746
194k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
194k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
30.5k
    {
745
30.5k
        return reinterpret_cast<unexpected<E>*>(
746
30.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
30.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
30.5k
    {
745
30.5k
        return reinterpret_cast<unexpected<E>*>(
746
30.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
30.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
66.3k
    {
745
66.3k
        return reinterpret_cast<unexpected<E>*>(
746
66.3k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
66.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
66.3k
    {
745
66.3k
        return reinterpret_cast<unexpected<E>*>(
746
66.3k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
66.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
72
    {
745
72
        return reinterpret_cast<unexpected<E>*>(
746
72
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
72
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
72
    {
745
72
        return reinterpret_cast<unexpected<E>*>(
746
72
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
72
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
132
    {
745
132
        return reinterpret_cast<unexpected<E>*>(
746
132
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
132
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
132
    {
745
132
        return reinterpret_cast<unexpected<E>*>(
746
132
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
132
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
748
    const unexpected<E>* unexpected_ptr() const noexcept
749
    {
750
        return reinterpret_cast<const unexpected<E>*>(
751
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
752
    }
753
    SCN_GCC_POP
754
755
    static constexpr std::size_t required_size =
756
        detail::max(sizeof(T), sizeof(unexpected<E>));
757
    static constexpr std::size_t required_alignment =
758
        detail::max(alignof(T), alignof(unexpected<E>));
759
760
    alignas(required_alignment) unsigned char m_memory[required_size];
761
    bool m_has_value;
762
};
763
764
template <typename E>
765
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
766
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
767
768
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
769
        : m_has_value(false)
770
    {
771
    }
772
773
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
774
        : m_has_value(true)
775
    {
776
    }
777
778
    template <typename... Args,
779
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
780
    explicit constexpr expected_storage_base(
781
        unexpect_t,
782
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
783
        : m_has_value(false)
784
    {
785
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
786
    }
787
788
    ~expected_storage_base()
789
    {
790
        if (!has_value()) {
791
            destroy_unexpected();
792
        }
793
    }
794
795
    constexpr unexpected<E>& get_unexpected() & noexcept
796
    {
797
        return *unexpected_ptr();
798
    }
799
    constexpr const unexpected<E>& get_unexpected() const& noexcept
800
    {
801
        return *unexpected_ptr();
802
    }
803
    constexpr unexpected<E>&& get_unexpected() && noexcept
804
    {
805
        return std::move(*unexpected_ptr());
806
    }
807
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
808
    {
809
        return std::move(*unexpected_ptr());
810
    }
811
812
    SCN_NODISCARD constexpr bool has_value() const noexcept
813
    {
814
        return m_has_value;
815
    }
816
817
    template <typename... Args>
818
    constexpr void construct(Args&&...) noexcept
819
    {
820
        m_has_value = true;
821
    }
822
    template <typename... Args>
823
    void construct_unexpected(Args&&... args) noexcept(
824
        std::is_nothrow_constructible_v<E, Args...>)
825
    {
826
        scn::detail::construct_at(unexpected_ptr(),
827
                                  std::forward<Args>(args)...);
828
        m_has_value = false;
829
    }
830
831
    static constexpr void destroy_value() noexcept {}
832
    void destroy_unexpected() noexcept
833
    {
834
        scn::detail::destroy_at(unexpected_ptr());
835
    }
836
837
private:
838
    SCN_GCC_PUSH
839
    SCN_GCC_IGNORE("-Wcast-align")
840
    unexpected<E>* unexpected_ptr()
841
    {
842
        return reinterpret_cast<unexpected<E>*>(m_memory);
843
    }
844
    const unexpected<E>* unexpected_ptr() const
845
    {
846
        return reinterpret_cast<const unexpected<E>*>(m_memory);
847
    }
848
    SCN_GCC_POP
849
850
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
851
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
852
853
    alignas(required_alignment) unsigned char m_memory[required_size];
854
    bool m_has_value;
855
};
856
857
template <typename T, typename U>
858
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
859
860
template <typename T, typename E, typename Enable = void>
861
struct expected_operations_base;
862
863
template <typename T, typename E>
864
struct SCN_TRIVIAL_ABI expected_operations_base<
865
    T,
866
    E,
867
    std::enable_if_t<(std::is_void_v<T> || std::is_trivially_copyable_v<T>) &&
868
                     std::is_trivially_copyable_v<E>>>
869
    : expected_storage_base<T, E> {
870
    using expected_storage_base<T, E>::expected_storage_base;
871
};
872
873
template <typename T, typename E>
874
struct SCN_TRIVIAL_ABI expected_operations_base<
875
    T,
876
    E,
877
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
878
                                            !std::is_trivially_copyable_v<E>)>>
879
    : expected_storage_base<T, E> {
880
    using expected_storage_base<T, E>::expected_storage_base;
881
882
    expected_operations_base(const expected_operations_base& other) noexcept(
883
        std::is_nothrow_copy_constructible_v<T> &&
884
        std::is_nothrow_copy_constructible_v<E>)
885
        : expected_storage_base<T, E>(deferred_init_tag)
886
    {
887
        construct_common(other);
888
    }
889
    expected_operations_base(expected_operations_base&& other) noexcept(
890
        std::is_nothrow_move_constructible_v<T> &&
891
        std::is_nothrow_move_constructible_v<E>)
892
        : expected_storage_base<T, E>(deferred_init_tag)
893
    {
894
        construct_common(std::move(other));
895
    }
896
897
    expected_operations_base& operator=(const expected_operations_base& other)
898
    // gcc 11 and lower evaluate noexcept in a weird context
899
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
900
        noexcept(noexcept(
901
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
902
#else
903
        noexcept(noexcept(assign_common(other)))
904
#endif
905
    {
906
        assign_common(other);
907
        return *this;
908
    }
909
    expected_operations_base& operator=(expected_operations_base&& other)
910
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
911
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
912
                              .assign_common(std::move(other))))
913
#else
914
        noexcept(noexcept(assign_common(std::move(other))))
915
#endif
916
182k
    {
917
182k
        assign_common(std::move(other));
918
182k
        return *this;
919
182k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.64k
    {
917
6.64k
        assign_common(std::move(other));
918
6.64k
        return *this;
919
6.64k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.92k
    {
917
6.92k
        assign_common(std::move(other));
918
6.92k
        return *this;
919
6.92k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.92k
    {
917
6.92k
        assign_common(std::move(other));
918
6.92k
        return *this;
919
6.92k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.92k
    {
917
6.92k
        assign_common(std::move(other));
918
6.92k
        return *this;
919
6.92k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.92k
    {
917
6.92k
        assign_common(std::move(other));
918
6.92k
        return *this;
919
6.92k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.92k
    {
917
6.92k
        assign_common(std::move(other));
918
6.92k
        return *this;
919
6.92k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.11k
    {
917
6.11k
        assign_common(std::move(other));
918
6.11k
        return *this;
919
6.11k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.11k
    {
917
6.11k
        assign_common(std::move(other));
918
6.11k
        return *this;
919
6.11k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
916
6.11k
    {
917
6.11k
        assign_common(std::move(other));
918
6.11k
        return *this;
919
6.11k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.5k
    {
917
13.5k
        assign_common(std::move(other));
918
13.5k
        return *this;
919
13.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.8k
    {
917
13.8k
        assign_common(std::move(other));
918
13.8k
        return *this;
919
13.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.8k
    {
917
13.8k
        assign_common(std::move(other));
918
13.8k
        return *this;
919
13.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.7k
    {
917
13.7k
        assign_common(std::move(other));
918
13.7k
        return *this;
919
13.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.8k
    {
917
13.8k
        assign_common(std::move(other));
918
13.8k
        return *this;
919
13.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.8k
    {
917
13.8k
        assign_common(std::move(other));
918
13.8k
        return *this;
919
13.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.2k
    {
917
13.2k
        assign_common(std::move(other));
918
13.2k
        return *this;
919
13.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.2k
    {
917
13.2k
        assign_common(std::move(other));
918
13.2k
        return *this;
919
13.2k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
916
13.2k
    {
917
13.2k
        assign_common(std::move(other));
918
13.2k
        return *this;
919
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
920
921
    ~expected_operations_base() = default;
922
923
private:
924
    template <typename Other>
925
    void construct_common(Other&& other) noexcept(
926
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
927
                     .construct(std::forward<Other>(other).get_value())) &&
928
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
929
                     .construct_unexpected(
930
                         std::forward<Other>(other).get_unexpected())))
931
0
    {
932
0
        if (other.has_value()) {
933
0
            this->construct(std::forward<Other>(other).get_value());
934
0
        }
935
0
        else {
936
0
            this->construct_unexpected(
937
0
                std::forward<Other>(other).get_unexpected());
938
0
        }
939
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
940
941
    template <typename Other>
942
    void assign_common(Other&& other)
943
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
944
        noexcept(
945
            noexcept(SCN_DECLVAL(expected_operations_base&)
946
                         .reassign_value(std::forward<Other>(other))) &&
947
            noexcept(SCN_DECLVAL(expected_operations_base&)
948
                         .reassign_unexpected(std::forward<Other>(other))) &&
949
            noexcept(SCN_DECLVAL(expected_operations_base&)
950
                         .assign_value_over_unexpected(
951
                             std::forward<Other>(other))) &&
952
            noexcept(
953
                SCN_DECLVAL(expected_operations_base&)
954
                    .assign_unexpected_over_value(std::forward<Other>(other))))
955
#else
956
        noexcept(
957
            noexcept(reassign_value(std::forward<Other>(other))) &&
958
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
959
            noexcept(
960
                assign_value_over_unexpected(std::forward<Other>(other))) &&
961
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
962
#endif
963
182k
    {
964
182k
        if (this->has_value()) {
965
182k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
182k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
182k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.64k
    {
964
6.64k
        if (this->has_value()) {
965
6.64k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.64k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.64k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.92k
    {
964
6.92k
        if (this->has_value()) {
965
6.92k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.92k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.92k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.92k
    {
964
6.92k
        if (this->has_value()) {
965
6.92k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.92k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.92k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.92k
    {
964
6.92k
        if (this->has_value()) {
965
6.92k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.92k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.92k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.92k
    {
964
6.92k
        if (this->has_value()) {
965
6.92k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.92k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.92k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.92k
    {
964
6.92k
        if (this->has_value()) {
965
6.92k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.92k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.92k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.11k
    {
964
6.11k
        if (this->has_value()) {
965
6.11k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.11k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.11k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.11k
    {
964
6.11k
        if (this->has_value()) {
965
6.11k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.11k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.11k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
963
6.11k
    {
964
6.11k
        if (this->has_value()) {
965
6.11k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
6.11k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
6.11k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.5k
    {
964
13.5k
        if (this->has_value()) {
965
13.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.8k
    {
964
13.8k
        if (this->has_value()) {
965
13.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.8k
    {
964
13.8k
        if (this->has_value()) {
965
13.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.7k
    {
964
13.7k
        if (this->has_value()) {
965
13.7k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.7k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.8k
    {
964
13.8k
        if (this->has_value()) {
965
13.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.8k
    {
964
13.8k
        if (this->has_value()) {
965
13.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.2k
    {
964
13.2k
        if (this->has_value()) {
965
13.2k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.2k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.2k
    {
964
13.2k
        if (this->has_value()) {
965
13.2k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.2k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
963
13.2k
    {
964
13.2k
        if (this->has_value()) {
965
13.2k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
13.2k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
13.2k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
976
977
    template <typename Other>
978
    void reassign_value(Other&& other) noexcept(
979
        std::is_nothrow_assignable_v<
980
            T,
981
            decltype(std::forward<Other>(other).get_value())>)
982
0
    {
983
0
        this->get_value() = std::forward<Other>(other).get_value();
984
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
985
986
    template <typename Other>
987
    void reassign_unexpected(Other&& other) noexcept(
988
        std::is_nothrow_assignable_v<
989
            E,
990
            decltype(std::forward<Other>(other).get_unexpected())>)
991
0
    {
992
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
993
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
994
995
#if SCN_HAS_EXCEPTIONS
996
    void assign_value_over_unexpected(
997
        const expected_operations_base&
998
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
999
                            std::is_nothrow_move_constructible_v<T>)
1000
    {
1001
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
1002
            this->destroy_unexpected();
1003
            this->construct(other.get_value());
1004
        }
1005
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
1006
            T tmp = other.get_value();
1007
            this->destroy_unexpected();
1008
            this->construct(std::move(tmp));
1009
        }
1010
        else {
1011
            auto tmp = std::move(this->get_unexpecetd());
1012
            this->destroy_unexpected();
1013
1014
            try {
1015
                this->construct(other.get());
1016
            }
1017
            catch (...) {
1018
                this->construct_unexpected(std::move(tmp));
1019
                throw;
1020
            }
1021
        }
1022
    }
1023
1024
    void
1025
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1026
        std::is_nothrow_move_constructible_v<T>)
1027
0
    {
1028
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1029
0
            this->destroy_unexpected();
1030
0
            this->construct(std::move(other).get_value());
1031
        }
1032
        else {
1033
            auto tmp = std::move(this->get_unexpected());
1034
            this->destroy_unexpected();
1035
1036
            try {
1037
                this->construct(std::move(other).get_value());
1038
            }
1039
            catch (...) {
1040
                this->construct_unexpected(std::move(tmp));
1041
                throw;
1042
            }
1043
        }
1044
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1045
#else
1046
    template <typename Other>
1047
    void assing_value_over_unexpected(Other&& other) noexcept
1048
    {
1049
        this->destroy_unexpected();
1050
        this->construct_value(std::forward<Other>(other).get_value());
1051
    }
1052
#endif
1053
1054
    template <typename Other>
1055
    void assign_unexpected_over_value(Other&& other) noexcept(
1056
        std::is_nothrow_constructible_v<
1057
            E,
1058
            decltype(std::forward<Other>(other).get_unexpected())>)
1059
182k
    {
1060
182k
        this->destroy_value();
1061
182k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
182k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.64k
    {
1060
6.64k
        this->destroy_value();
1061
6.64k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.64k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.92k
    {
1060
6.92k
        this->destroy_value();
1061
6.92k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.92k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.92k
    {
1060
6.92k
        this->destroy_value();
1061
6.92k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.92k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.92k
    {
1060
6.92k
        this->destroy_value();
1061
6.92k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.92k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.92k
    {
1060
6.92k
        this->destroy_value();
1061
6.92k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.92k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.92k
    {
1060
6.92k
        this->destroy_value();
1061
6.92k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.92k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.11k
    {
1060
6.11k
        this->destroy_value();
1061
6.11k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.11k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.11k
    {
1060
6.11k
        this->destroy_value();
1061
6.11k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.11k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
6.11k
    {
1060
6.11k
        this->destroy_value();
1061
6.11k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
6.11k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.5k
    {
1060
13.5k
        this->destroy_value();
1061
13.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.8k
    {
1060
13.8k
        this->destroy_value();
1061
13.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.8k
    {
1060
13.8k
        this->destroy_value();
1061
13.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.7k
    {
1060
13.7k
        this->destroy_value();
1061
13.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.8k
    {
1060
13.8k
        this->destroy_value();
1061
13.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.8k
    {
1060
13.8k
        this->destroy_value();
1061
13.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.2k
    {
1060
13.2k
        this->destroy_value();
1061
13.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.2k
    {
1060
13.2k
        this->destroy_value();
1061
13.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.2k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
13.2k
    {
1060
13.2k
        this->destroy_value();
1061
13.2k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
13.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1063
};
1064
1065
template <typename E>
1066
struct SCN_TRIVIAL_ABI
1067
    expected_operations_base<void,
1068
                             E,
1069
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1070
    : expected_storage_base<void, E> {
1071
    using expected_storage_base<void, E>::expected_storage_base;
1072
1073
    expected_operations_base(const expected_operations_base& other) noexcept(
1074
        std::is_nothrow_copy_constructible_v<E>)
1075
        : expected_storage_base<void, E>(deferred_init_tag)
1076
    {
1077
        construct_common(other);
1078
    }
1079
    expected_operations_base(expected_operations_base&& other) noexcept(
1080
        std::is_nothrow_move_constructible_v<E>)
1081
        : expected_storage_base<void, E>(deferred_init_tag)
1082
    {
1083
        construct_common(std::move(other));
1084
    }
1085
1086
    expected_operations_base& operator=(const expected_operations_base& other)
1087
    // gcc 11 and lower evaluate noexcept in a weird context
1088
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1089
        noexcept(noexcept(
1090
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1091
#else
1092
        noexcept(noexcept(assign_common(other)))
1093
#endif
1094
    {
1095
        assign_common(other);
1096
        return *this;
1097
    }
1098
    expected_operations_base& operator=(expected_operations_base&& other)
1099
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1100
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1101
                              .assign_common(std::move(other))))
1102
#else
1103
        noexcept(noexcept(assign_common(std::move(other))))
1104
#endif
1105
    {
1106
        assign_common(std::move(other));
1107
        return *this;
1108
    }
1109
1110
    ~expected_operations_base() = default;
1111
1112
private:
1113
    template <typename Other>
1114
    void construct_common(Other&& other) noexcept(
1115
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1116
            std::forward<Other>(other).get_unexpected())))
1117
    {
1118
        if (other.has_value()) {
1119
            this->construct();
1120
        }
1121
        else {
1122
            this->construct_unexpected(
1123
                std::forward<Other>(other).get_unexpected());
1124
        }
1125
    }
1126
1127
    template <typename Other>
1128
    void assign_common(Other&& other)
1129
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1130
        noexcept(
1131
            noexcept(SCN_DECLVAL(expected_operations_base&)
1132
                         .reassign_unexpected(std::forward<Other>(other))) &&
1133
            noexcept(
1134
                SCN_DECLVAL(expected_operations_base&)
1135
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1136
#else
1137
        noexcept(
1138
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1139
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1140
#endif
1141
    {
1142
        if (this->has_value()) {
1143
            if (other.has_value()) {
1144
                return reassign_value();
1145
            }
1146
            return assign_unexpected_over_value(std::forward<Other>(other));
1147
        }
1148
1149
        if (other.has_value()) {
1150
            return assign_value_over_unexpected();
1151
        }
1152
        return reassign_unexpected(std::forward<Other>(other));
1153
    }
1154
1155
    void reassign_value() noexcept {}
1156
1157
    template <typename Other>
1158
    void reassign_unexpected(Other&& other) noexcept(
1159
        std::is_nothrow_assignable_v<
1160
            E,
1161
            decltype(std::forward<Other>(other).get_unexpected())>)
1162
    {
1163
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1164
    }
1165
1166
    void assign_value_over_unexpected() noexcept
1167
    {
1168
        this->destroy_unexpected();
1169
        this->construct();
1170
    }
1171
1172
    template <typename Other>
1173
    void assign_unexpected_over_value(Other&& other) noexcept(
1174
        std::is_nothrow_constructible_v<
1175
            E,
1176
            decltype(std::forward<Other>(other).get_unexpected())>)
1177
    {
1178
        this->destroy_value();
1179
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1180
    }
1181
};
1182
1183
/*
1184
 * Base class trickery to conditionally mark copy and move
1185
 * constructors of an expected as =deleted.
1186
 *
1187
 * We need to do this, because otherwise utilities like
1188
 * std::is_copy_constructible wouldn't work for expected: the
1189
 * constructors need to be explicitly =deleted, not just cause a
1190
 * compiler error when trying to copy a value of a non-copyable
1191
 * type.
1192
 *
1193
 * Rationale for doing this with base classes is above.
1194
 */
1195
template <
1196
    typename T,
1197
    typename E,
1198
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1199
                       std::is_copy_constructible_v<E>),
1200
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1201
                       std::is_move_constructible_v<E>)>
1202
struct expected_delete_ctor_base;
1203
1204
// Implementation for types that are both copy and move
1205
// constructible: Copy and move constructors are =defaulted
1206
template <typename T, typename E>
1207
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1208
    expected_delete_ctor_base() = default;
1209
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1210
        default;
1211
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1212
    ~expected_delete_ctor_base() = default;
1213
1214
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1215
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1216
};
1217
1218
// Implementation for types that are neither copy nor move
1219
// constructible: Copy and move constructors are =deleted
1220
template <typename T, typename E>
1221
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1222
    expected_delete_ctor_base() = default;
1223
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1224
        default;
1225
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1226
    ~expected_delete_ctor_base() = default;
1227
1228
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1229
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1230
};
1231
1232
// Implementation for types that are move constructible, but not
1233
// copy constructible Copy constructor is =deleted, but move
1234
// constructor is =defaulted
1235
template <typename T, typename E>
1236
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1237
    expected_delete_ctor_base() = default;
1238
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1239
        default;
1240
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1241
    ~expected_delete_ctor_base() = default;
1242
1243
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1244
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1245
};
1246
1247
template <typename T, typename E>
1248
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1249
    static_assert(dependent_false<T>::value,
1250
                  "Nonsensical type: copy constructible, but not move "
1251
                  "constructible");
1252
};
1253
1254
// Same as above, but for assignment
1255
template <
1256
    typename T,
1257
    typename E,
1258
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1259
                       std::is_copy_constructible_v<E> &&
1260
                       (std::is_copy_assignable_v<T> || std::is_void_v<T>) &&
1261
                       std::is_copy_assignable_v<E>),
1262
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1263
                       std::is_move_constructible_v<E> &&
1264
                       (std::is_move_assignable_v<T> || std::is_void_v<T>) &&
1265
                       std::is_move_assignable_v<E>)>
1266
struct expected_delete_assign_base;
1267
1268
template <typename T, typename E>
1269
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1270
    expected_delete_assign_base() = default;
1271
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1272
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1273
    ~expected_delete_assign_base() = default;
1274
1275
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1276
        default;
1277
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1278
        default;
1279
};
1280
1281
template <typename T, typename E>
1282
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1283
    expected_delete_assign_base() = default;
1284
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1285
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1286
    ~expected_delete_assign_base() = default;
1287
1288
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1289
        delete;
1290
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1291
        delete;
1292
};
1293
1294
template <typename T, typename E>
1295
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1296
    expected_delete_assign_base() = default;
1297
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1298
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1299
    ~expected_delete_assign_base() = default;
1300
1301
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1302
        delete;
1303
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1304
        default;
1305
};
1306
1307
template <typename T, typename E>
1308
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1309
    static_assert(dependent_false<T>::value,
1310
                  "Nonsensical type: copy assignable, but not move "
1311
                  "assignable");
1312
};
1313
1314
struct non_default_ctor_tag_t {};
1315
1316
/*
1317
 * Same as above, but for the default constructor
1318
 *
1319
 * The constructor taking a non_default_ctor_tag_t is needed, to
1320
 * signal that we're not default constructing.
1321
 */
1322
template <typename T,
1323
          typename E,
1324
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1325
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1326
    constexpr expected_default_ctor_base() = default;
1327
    constexpr explicit expected_default_ctor_base(
1328
        non_default_ctor_tag_t) noexcept
1329
1.28M
    {
1330
1.28M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.64k
    {
1330
6.64k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
62.2k
    {
1330
62.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.92k
    {
1330
6.92k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.92k
    {
1330
6.92k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.92k
    {
1330
6.92k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.92k
    {
1330
6.92k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.92k
    {
1330
6.92k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.11k
    {
1330
6.11k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.11k
    {
1330
6.11k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.11k
    {
1330
6.11k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.5k
    {
1330
13.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
124k
    {
1330
124k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.8k
    {
1330
13.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.8k
    {
1330
13.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.7k
    {
1330
13.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.8k
    {
1330
13.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.8k
    {
1330
13.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.2k
    {
1330
13.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.2k
    {
1330
13.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
13.2k
    {
1330
13.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
190k
    {
1330
190k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
65.7k
    {
1330
65.7k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
45.4k
    {
1330
45.4k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
385k
    {
1330
385k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
53.2k
    {
1330
53.2k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
11.9k
    {
1330
11.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.06k
    {
1330
6.06k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.0k
    {
1330
12.0k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
11.9k
    {
1330
11.9k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
9.51k
    {
1330
9.51k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.54k
    {
1330
1.54k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.15k
    {
1330
1.15k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.15k
    {
1330
1.15k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
24
    {
1330
24
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.5k
    {
1330
14.5k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
3.71k
    {
1330
3.71k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
2.78k
    {
1330
2.78k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
2.78k
    {
1330
2.78k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
24
    {
1330
24
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
394
    {
1330
394
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
930
    {
1330
930
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
21.9k
    {
1330
21.9k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
3.93k
    {
1330
3.93k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
3.06k
    {
1330
3.06k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.35k
    {
1330
6.35k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
7.66k
    {
1330
7.66k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
6.10k
    {
1330
6.10k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.01k
    {
1330
1.01k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
764
    {
1330
764
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
764
    {
1330
764
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
52
    {
1330
52
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
20.2k
    {
1330
20.2k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
4.17k
    {
1330
4.17k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
3.10k
    {
1330
3.10k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
3.10k
    {
1330
3.10k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
52
    {
1330
52
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
246
    {
1330
246
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.07k
    {
1330
1.07k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
3.81k
    {
1330
3.81k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
2.49k
    {
1330
2.49k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.66k
    {
1330
1.66k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.66k
    {
1330
1.66k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1331
};
1332
template <typename T, typename E>
1333
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1334
    constexpr expected_default_ctor_base() = delete;
1335
    constexpr explicit expected_default_ctor_base(
1336
        non_default_ctor_tag_t) noexcept
1337
    {
1338
    }
1339
};
1340
1341
template <typename T>
1342
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1343
1344
template <typename T>
1345
struct is_expected_impl : std::false_type {};
1346
template <typename T, typename E>
1347
struct is_expected_impl<expected<T, E>> : std::true_type {};
1348
template <typename T>
1349
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1350
1351
template <typename Exp>
1352
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1353
1354
template <typename Exp>
1355
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1356
1357
template <
1358
    typename F,
1359
    typename... Args,
1360
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1361
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1362
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1363
6.51k
{
1364
6.51k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
6.51k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1363
354
{
1364
354
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
354
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1363
1.07k
{
1364
1.07k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
1.07k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Line
Count
Source
1363
1.78k
{
1364
1.78k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
1.78k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Line
Count
Source
1363
3.30k
{
1364
3.30k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
3.30k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1366
1367
// and_then
1368
1369
template <typename Exp,
1370
          typename F,
1371
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1372
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1373
                                                 *SCN_DECLVAL(Exp)))>
1374
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1375
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1376
    std::is_nothrow_constructible_v<Ret,
1377
                                    unexpect_t,
1378
                                    decltype(std::forward<Exp>(exp).error())>)
1379
{
1380
    static_assert(is_expected<Ret>::value, "F must return an expected");
1381
1382
    return SCN_LIKELY(exp.has_value())
1383
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1384
               : Ret(unexpect, std::forward<Exp>(exp).error());
1385
}
1386
template <typename Exp,
1387
          typename F,
1388
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1389
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1390
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1391
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1392
    std::is_nothrow_constructible_v<Ret,
1393
                                    unexpect_t,
1394
                                    decltype(std::forward<Exp>(exp).error())>)
1395
{
1396
    static_assert(is_expected<Ret>::value, "F must return an expected");
1397
1398
    return SCN_LIKELY(exp.has_value())
1399
               ? trivial_invoke(std::forward<F>(f))
1400
               : Ret(unexpect, std::forward<Exp>(exp).error());
1401
}
1402
1403
// or_else
1404
1405
template <typename Exp,
1406
          typename F,
1407
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1408
                                                 SCN_DECLVAL(Exp).error()))>
1409
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1410
    noexcept(trivial_invoke(std::forward<F>(f),
1411
                            std::forward<Exp>(exp).error())) &&
1412
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1413
{
1414
    static_assert(is_expected<Ret>::value, "F must return an expected");
1415
1416
    return SCN_LIKELY(exp.has_value())
1417
               ? Ret(std::forward<Exp>(exp))
1418
               : trivial_invoke(std::forward<F>(f),
1419
                                std::forward<Exp>(exp).error());
1420
}
1421
1422
// transform
1423
1424
template <typename Exp,
1425
          typename F,
1426
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1427
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1428
                                                 *SCN_DECLVAL(Exp)))>
1429
constexpr auto transform_impl(Exp&& exp, F&& f)
1430
{
1431
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1432
    if constexpr (std::is_void_v<Ret>) {
1433
        if (SCN_LIKELY(exp.has_value())) {
1434
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1435
            return result();
1436
        }
1437
        return result(unexpect, std::forward<Exp>(exp).error());
1438
    }
1439
    else {
1440
        return SCN_LIKELY(exp.has_value())
1441
                   ? result(trivial_invoke(std::forward<F>(f),
1442
                                           *std::forward<Exp>(exp)))
1443
                   : result(unexpect, std::forward<Exp>(exp).error());
1444
    }
1445
}
1446
template <typename Exp,
1447
          typename F,
1448
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1449
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1450
constexpr auto transform_impl(Exp&& exp, F&& f)
1451
{
1452
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1453
    if constexpr (std::is_void_v<Ret>) {
1454
        if (SCN_LIKELY(exp.has_value())) {
1455
            trivial_invoke(std::forward<F>(f));
1456
            return result();
1457
        }
1458
        return result(unexpect, std::forward<Exp>(exp).error());
1459
    }
1460
    else {
1461
        return SCN_LIKELY(exp.has_value())
1462
                   ? result(trivial_invoke(std::forward<F>(f)))
1463
                   : result(unexpect, std::forward<Exp>(exp).error());
1464
    }
1465
}
1466
1467
// transform_error
1468
1469
template <typename Exp,
1470
          typename F,
1471
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1472
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1473
                                                 SCN_DECLVAL(Exp).error()))>
1474
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1475
51.8k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
51.8k
    else {
1486
51.8k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
51.8k
        return SCN_LIKELY(exp.has_value())
1488
51.8k
                   ? result(*std::forward<Exp>(exp))
1489
51.8k
                   : result(unexpect,
1490
6.51k
                            trivial_invoke(std::forward<F>(f),
1491
6.51k
                                           std::forward<Exp>(exp).error()));
1492
51.8k
    }
1493
51.8k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
8.48k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
8.48k
    else {
1486
8.48k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
8.48k
        return SCN_LIKELY(exp.has_value())
1488
8.48k
                   ? result(*std::forward<Exp>(exp))
1489
8.48k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
8.48k
    }
1493
8.48k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
1.00k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.00k
    else {
1486
1.00k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.00k
        return SCN_LIKELY(exp.has_value())
1488
1.00k
                   ? result(*std::forward<Exp>(exp))
1489
1.00k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
1.00k
    }
1493
1.00k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
2.60k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
2.60k
    else {
1486
2.60k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
2.60k
        return SCN_LIKELY(exp.has_value())
1488
2.60k
                   ? result(*std::forward<Exp>(exp))
1489
2.60k
                   : result(unexpect,
1490
460
                            trivial_invoke(std::forward<F>(f),
1491
460
                                           std::forward<Exp>(exp).error()));
1492
2.60k
    }
1493
2.60k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1475
1.15k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.15k
    else {
1486
1.15k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.15k
        return SCN_LIKELY(exp.has_value())
1488
1.15k
                   ? result(*std::forward<Exp>(exp))
1489
1.15k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
1.15k
    }
1493
1.15k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
1.12k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.12k
    else {
1486
1.12k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.12k
        return SCN_LIKELY(exp.has_value())
1488
1.12k
                   ? result(*std::forward<Exp>(exp))
1489
1.12k
                   : result(unexpect,
1490
1.12k
                            trivial_invoke(std::forward<F>(f),
1491
1.12k
                                           std::forward<Exp>(exp).error()));
1492
1.12k
    }
1493
1.12k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1475
2.78k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
2.78k
    else {
1486
2.78k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
2.78k
        return SCN_LIKELY(exp.has_value())
1488
2.78k
                   ? result(*std::forward<Exp>(exp))
1489
2.78k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
2.78k
    }
1493
2.78k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1475
394
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
394
    else {
1486
394
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
394
        return SCN_LIKELY(exp.has_value())
1488
394
                   ? result(*std::forward<Exp>(exp))
1489
394
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
394
    }
1493
394
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Line
Count
Source
1475
788
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
788
    else {
1486
788
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
788
        return SCN_LIKELY(exp.has_value())
1488
788
                   ? result(*std::forward<Exp>(exp))
1489
788
                   : result(unexpect,
1490
788
                            trivial_invoke(std::forward<F>(f),
1491
788
                                           std::forward<Exp>(exp).error()));
1492
788
    }
1493
788
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1475
930
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
930
    else {
1486
930
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
930
        return SCN_LIKELY(exp.has_value())
1488
930
                   ? result(*std::forward<Exp>(exp))
1489
930
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
930
    }
1493
930
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
952
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
952
    else {
1486
952
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
952
        return SCN_LIKELY(exp.has_value())
1488
952
                   ? result(*std::forward<Exp>(exp))
1489
952
                   : result(unexpect,
1490
952
                            trivial_invoke(std::forward<F>(f),
1491
952
                                           std::forward<Exp>(exp).error()));
1492
952
    }
1493
952
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
714
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
714
    else {
1486
714
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
714
        return SCN_LIKELY(exp.has_value())
1488
714
                   ? result(*std::forward<Exp>(exp))
1489
714
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
714
    }
1493
714
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
9.22k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
9.22k
    else {
1486
9.22k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
9.22k
        return SCN_LIKELY(exp.has_value())
1488
9.22k
                   ? result(*std::forward<Exp>(exp))
1489
9.22k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
9.22k
    }
1493
9.22k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
1.60k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.60k
    else {
1486
1.60k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.60k
        return SCN_LIKELY(exp.has_value())
1488
1.60k
                   ? result(*std::forward<Exp>(exp))
1489
1.60k
                   : result(unexpect,
1490
326
                            trivial_invoke(std::forward<F>(f),
1491
326
                                           std::forward<Exp>(exp).error()));
1492
1.60k
    }
1493
1.60k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1475
764
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
764
    else {
1486
764
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
764
        return SCN_LIKELY(exp.has_value())
1488
764
                   ? result(*std::forward<Exp>(exp))
1489
764
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
764
    }
1493
764
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Line
Count
Source
1475
694
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
694
    else {
1486
694
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
694
        return SCN_LIKELY(exp.has_value())
1488
694
                   ? result(*std::forward<Exp>(exp))
1489
694
                   : result(unexpect,
1490
656
                            trivial_invoke(std::forward<F>(f),
1491
656
                                           std::forward<Exp>(exp).error()));
1492
694
    }
1493
694
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
6.39k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
6.39k
    else {
1486
6.39k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
6.39k
        return SCN_LIKELY(exp.has_value())
1488
6.39k
                   ? result(*std::forward<Exp>(exp))
1489
6.39k
                   : result(unexpect,
1490
182
                            trivial_invoke(std::forward<F>(f),
1491
182
                                           std::forward<Exp>(exp).error()));
1492
6.39k
    }
1493
6.39k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1475
3.10k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
3.10k
    else {
1486
3.10k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
3.10k
        return SCN_LIKELY(exp.has_value())
1488
3.10k
                   ? result(*std::forward<Exp>(exp))
1489
3.10k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
3.10k
    }
1493
3.10k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1475
246
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
246
    else {
1486
246
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
246
        return SCN_LIKELY(exp.has_value())
1488
246
                   ? result(*std::forward<Exp>(exp))
1489
246
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
246
    }
1493
246
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Line
Count
Source
1475
470
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
470
    else {
1486
470
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
470
        return SCN_LIKELY(exp.has_value())
1488
470
                   ? result(*std::forward<Exp>(exp))
1489
470
                   : result(unexpect,
1490
470
                            trivial_invoke(std::forward<F>(f),
1491
470
                                           std::forward<Exp>(exp).error()));
1492
470
    }
1493
470
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1475
1.07k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.07k
    else {
1486
1.07k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.07k
        return SCN_LIKELY(exp.has_value())
1488
1.07k
                   ? result(*std::forward<Exp>(exp))
1489
1.07k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
1.07k
    }
1493
1.07k
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1475
1.09k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.09k
    else {
1486
1.09k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.09k
        return SCN_LIKELY(exp.has_value())
1488
1.09k
                   ? result(*std::forward<Exp>(exp))
1489
1.09k
                   : result(unexpect,
1490
1.09k
                            trivial_invoke(std::forward<F>(f),
1491
1.09k
                                           std::forward<Exp>(exp).error()));
1492
1.09k
    }
1493
1.09k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
2.09k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
2.09k
    else {
1486
2.09k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
2.09k
        return SCN_LIKELY(exp.has_value())
1488
2.09k
                   ? result(*std::forward<Exp>(exp))
1489
2.09k
                   : result(unexpect,
1490
102
                            trivial_invoke(std::forward<F>(f),
1491
102
                                           std::forward<Exp>(exp).error()));
1492
2.09k
    }
1493
2.09k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1475
2.49k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
2.49k
    else {
1486
2.49k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
2.49k
        return SCN_LIKELY(exp.has_value())
1488
2.49k
                   ? result(*std::forward<Exp>(exp))
1489
2.49k
                   : result(unexpect,
1490
238
                            trivial_invoke(std::forward<F>(f),
1491
238
                                           std::forward<Exp>(exp).error()));
1492
2.49k
    }
1493
2.49k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1475
1.66k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
1.66k
    else {
1486
1.66k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
1.66k
        return SCN_LIKELY(exp.has_value())
1488
1.66k
                   ? result(*std::forward<Exp>(exp))
1489
1.66k
                   : result(unexpect,
1490
116
                            trivial_invoke(std::forward<F>(f),
1491
116
                                           std::forward<Exp>(exp).error()));
1492
1.66k
    }
1493
1.66k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1494
template <typename Exp,
1495
          typename F,
1496
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1497
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1498
                                                 SCN_DECLVAL(Exp).error()))>
1499
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1500
{
1501
    if constexpr (std::is_void_v<Ret>) {
1502
        using result = expected<expected_value_type<Exp>, monostate>;
1503
        if (SCN_LIKELY(exp.has_value())) {
1504
            return result();
1505
        }
1506
1507
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1508
        return result(unexpect, monostate{});
1509
    }
1510
    else {
1511
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1512
        return SCN_LIKELY(exp.has_value())
1513
                   ? result()
1514
                   : result(unexpect,
1515
                            trivial_invoke(std::forward<F>(f),
1516
                                           std::forward<Exp>(exp).error()));
1517
    }
1518
}
1519
1520
template <class T, class E, class U, class G, class UR, class GR>
1521
using enable_from_other =
1522
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1523
                     std::is_constructible_v<E, GR> &&
1524
                     !std::is_constructible_v<T, expected<U, G>&> &&
1525
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1526
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1527
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1528
                     !std::is_convertible_v<expected<U, G>&, T> &&
1529
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1530
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1531
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1532
}  // namespace detail
1533
1534
/**
1535
 * \see `std::expected`
1536
 */
1537
template <typename T, typename E>
1538
class SCN_TRIVIAL_ABI expected
1539
    : private detail::expected_operations_base<T, E>,
1540
      private detail::expected_delete_ctor_base<T, E>,
1541
      private detail::expected_delete_assign_base<T, E>,
1542
      private detail::expected_default_ctor_base<T, E> {
1543
    using base = detail::expected_operations_base<T, E>;
1544
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1545
1546
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1547
                  "T must be void or Destructible");
1548
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1549
1550
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1551
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1552
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1553
1554
public:
1555
    using value_type = T;
1556
    using error_type = E;
1557
    using unexpected_type = unexpected<E>;
1558
1559
    template <typename U>
1560
    using rebind = expected<U, error_type>;
1561
1562
    // Special member functions are defaulted, implementations provided
1563
    // by base classes
1564
1565
657k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1565
6.92k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1565
13.8k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1565
470k
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1566
1567
    constexpr expected(const expected&) = default;
1568
    constexpr expected(expected&&) = default;
1569
    constexpr expected& operator=(const expected&) = default;
1570
182k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.64k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.92k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.92k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.92k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.92k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.92k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.11k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.11k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1570
6.11k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.2k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1570
13.2k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1571
1572
    ~expected() = default;
1573
1574
    /**
1575
     * Construct an expected value.
1576
     * Intentionally non-explicit, to make constructing an expected
1577
     * value as transparent as possible.
1578
     */
1579
    template <typename U = value_type,
1580
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1581
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1582
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1583
232k
        : base(std::in_place, std::forward<U>(val)),
1584
232k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
232k
    {
1586
232k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1583
2.68k
        : base(std::in_place, std::forward<U>(val)),
1584
2.68k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.68k
    {
1586
2.68k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1583
2.15k
        : base(std::in_place, std::forward<U>(val)),
1584
2.15k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.15k
    {
1586
2.15k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
24.0k
        : base(std::in_place, std::forward<U>(val)),
1584
24.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
24.0k
    {
1586
24.0k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
21.9k
        : base(std::in_place, std::forward<U>(val)),
1584
21.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
21.9k
    {
1586
21.9k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
52.6k
        : base(std::in_place, std::forward<U>(val)),
1584
52.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
52.6k
    {
1586
52.6k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1583
11.4k
        : base(std::in_place, std::forward<U>(val)),
1584
11.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
11.4k
    {
1586
11.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
1583
5.82k
        : base(std::in_place, std::forward<U>(val)),
1584
5.82k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
5.82k
    {
1586
5.82k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1583
2.85k
        : base(std::in_place, std::forward<U>(val)),
1584
2.85k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.85k
    {
1586
2.85k
    }
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1583
11.9k
        : base(std::in_place, std::forward<U>(val)),
1584
11.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
11.9k
    {
1586
11.9k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
1.54k
        : base(std::in_place, std::forward<U>(val)),
1584
1.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.54k
    {
1586
1.54k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1583
2.14k
        : base(std::in_place, std::forward<U>(val)),
1584
2.14k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.14k
    {
1586
2.14k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1583
1.15k
        : base(std::in_place, std::forward<U>(val)),
1584
1.15k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.15k
    {
1586
1.15k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1583
1.15k
        : base(std::in_place, std::forward<U>(val)),
1584
1.15k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.15k
    {
1586
1.15k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
3.71k
        : base(std::in_place, std::forward<U>(val)),
1584
3.71k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
3.71k
    {
1586
3.71k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
1.99k
        : base(std::in_place, std::forward<U>(val)),
1584
1.99k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.99k
    {
1586
1.99k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1583
2.78k
        : base(std::in_place, std::forward<U>(val)),
1584
2.78k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.78k
    {
1586
2.78k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1583
2.78k
        : base(std::in_place, std::forward<U>(val)),
1584
2.78k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.78k
    {
1586
2.78k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1583
5.05k
        : base(std::in_place, std::forward<U>(val)),
1584
5.05k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
5.05k
    {
1586
5.05k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
394
        : base(std::in_place, std::forward<U>(val)),
1584
394
          ctor_base(detail::non_default_ctor_tag_t{})
1585
394
    {
1586
394
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
930
        : base(std::in_place, std::forward<U>(val)),
1584
930
          ctor_base(detail::non_default_ctor_tag_t{})
1585
930
    {
1586
930
    }
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
1583
882
        : base(std::in_place, std::forward<U>(val)),
1584
882
          ctor_base(detail::non_default_ctor_tag_t{})
1585
882
    {
1586
882
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1583
2.62k
        : base(std::in_place, std::forward<U>(val)),
1584
2.62k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.62k
    {
1586
2.62k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
21.7k
        : base(std::in_place, std::forward<U>(val)),
1584
21.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
21.7k
    {
1586
21.7k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1583
3.59k
        : base(std::in_place, std::forward<U>(val)),
1584
3.59k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
3.59k
    {
1586
3.59k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
1583
2.95k
        : base(std::in_place, std::forward<U>(val)),
1584
2.95k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.95k
    {
1586
2.95k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1583
2.01k
        : base(std::in_place, std::forward<U>(val)),
1584
2.01k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.01k
    {
1586
2.01k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1583
7.66k
        : base(std::in_place, std::forward<U>(val)),
1584
7.66k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
7.66k
    {
1586
7.66k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
1583
58
        : base(std::in_place, std::forward<U>(val)),
1584
58
          ctor_base(detail::non_default_ctor_tag_t{})
1585
58
    {
1586
58
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
1.01k
        : base(std::in_place, std::forward<U>(val)),
1584
1.01k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.01k
    {
1586
1.01k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1583
1.34k
        : base(std::in_place, std::forward<U>(val)),
1584
1.34k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.34k
    {
1586
1.34k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1583
764
        : base(std::in_place, std::forward<U>(val)),
1584
764
          ctor_base(detail::non_default_ctor_tag_t{})
1585
764
    {
1586
764
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1583
764
        : base(std::in_place, std::forward<U>(val)),
1584
764
          ctor_base(detail::non_default_ctor_tag_t{})
1585
764
    {
1586
764
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1583
8
        : base(std::in_place, std::forward<U>(val)),
1584
8
          ctor_base(detail::non_default_ctor_tag_t{})
1585
8
    {
1586
8
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1583
100
        : base(std::in_place, std::forward<U>(val)),
1584
100
          ctor_base(detail::non_default_ctor_tag_t{})
1585
100
    {
1586
100
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
4.17k
        : base(std::in_place, std::forward<U>(val)),
1584
4.17k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
4.17k
    {
1586
4.17k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
6.21k
        : base(std::in_place, std::forward<U>(val)),
1584
6.21k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
6.21k
    {
1586
6.21k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1583
3.10k
        : base(std::in_place, std::forward<U>(val)),
1584
3.10k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
3.10k
    {
1586
3.10k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1583
3.10k
        : base(std::in_place, std::forward<U>(val)),
1584
3.10k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
3.10k
    {
1586
3.10k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1583
8
        : base(std::in_place, std::forward<U>(val)),
1584
8
          ctor_base(detail::non_default_ctor_tag_t{})
1585
8
    {
1586
8
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
246
        : base(std::in_place, std::forward<U>(val)),
1584
246
          ctor_base(detail::non_default_ctor_tag_t{})
1585
246
    {
1586
246
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
1583
44
        : base(std::in_place, std::forward<U>(val)),
1584
44
          ctor_base(detail::non_default_ctor_tag_t{})
1585
44
    {
1586
44
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
1.07k
        : base(std::in_place, std::forward<U>(val)),
1584
1.07k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.07k
    {
1586
1.07k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1583
88
        : base(std::in_place, std::forward<U>(val)),
1584
88
          ctor_base(detail::non_default_ctor_tag_t{})
1585
88
    {
1586
88
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
1583
534
        : base(std::in_place, std::forward<U>(val)),
1584
534
          ctor_base(detail::non_default_ctor_tag_t{})
1585
534
    {
1586
534
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1583
690
        : base(std::in_place, std::forward<U>(val)),
1584
690
          ctor_base(detail::non_default_ctor_tag_t{})
1585
690
    {
1586
690
    }
Unexecuted instantiation: scn::v4::expected<long, scn::v4::scan_error>::expected<unsigned long, void>(unsigned long&&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1583
3.43k
        : base(std::in_place, std::forward<U>(val)),
1584
3.43k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
3.43k
    {
1586
3.43k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1583
2.25k
        : base(std::in_place, std::forward<U>(val)),
1584
2.25k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.25k
    {
1586
2.25k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1583
1.55k
        : base(std::in_place, std::forward<U>(val)),
1584
1.55k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.55k
    {
1586
1.55k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1583
1.55k
        : base(std::in_place, std::forward<U>(val)),
1584
1.55k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.55k
    {
1586
1.55k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1587
1588
    /// Construct an expected value directly in-place
1589
    template <typename... Args,
1590
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1591
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1592
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1593
        : base(std::in_place, std::forward<Args>(args)...),
1594
          ctor_base(detail::non_default_ctor_tag_t{})
1595
    {
1596
    }
1597
1598
    template <typename G = E,
1599
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1600
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1601
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1602
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1603
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1604
    {
1605
    }
1606
    template <typename G = E,
1607
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1608
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1609
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1610
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1611
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1612
    {
1613
    }
1614
1615
    template <typename G = E,
1616
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1617
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1618
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1619
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1620
        : base(unexpect, std::move(e.error())),
1621
          ctor_base(detail::non_default_ctor_tag_t{})
1622
    {
1623
    }
1624
    template <typename G = E,
1625
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1626
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1627
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1628
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1629
1.04M
        : base(unexpect, std::move(e.error())),
1630
1.04M
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.04M
    {
1632
1.04M
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
6.64k
        : base(unexpect, std::move(e.error())),
1630
6.64k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.64k
    {
1632
6.64k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
59.5k
        : base(unexpect, std::move(e.error())),
1630
59.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
59.5k
    {
1632
59.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
6.92k
        : base(unexpect, std::move(e.error())),
1630
6.92k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.92k
    {
1632
6.92k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
6.92k
        : base(unexpect, std::move(e.error())),
1630
6.92k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.92k
    {
1632
6.92k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
6.92k
        : base(unexpect, std::move(e.error())),
1630
6.92k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.92k
    {
1632
6.92k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
6.92k
        : base(unexpect, std::move(e.error())),
1630
6.92k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.92k
    {
1632
6.92k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
6.92k
        : base(unexpect, std::move(e.error())),
1630
6.92k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.92k
    {
1632
6.92k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
6.11k
        : base(unexpect, std::move(e.error())),
1630
6.11k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.11k
    {
1632
6.11k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
6.11k
        : base(unexpect, std::move(e.error())),
1630
6.11k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.11k
    {
1632
6.11k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1629
6.11k
        : base(unexpect, std::move(e.error())),
1630
6.11k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.11k
    {
1632
6.11k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
13.5k
        : base(unexpect, std::move(e.error())),
1630
13.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.5k
    {
1632
13.5k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
122k
        : base(unexpect, std::move(e.error())),
1630
122k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
122k
    {
1632
122k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
13.8k
        : base(unexpect, std::move(e.error())),
1630
13.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.8k
    {
1632
13.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
13.8k
        : base(unexpect, std::move(e.error())),
1630
13.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.8k
    {
1632
13.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
13.7k
        : base(unexpect, std::move(e.error())),
1630
13.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.7k
    {
1632
13.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
13.8k
        : base(unexpect, std::move(e.error())),
1630
13.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.8k
    {
1632
13.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
13.8k
        : base(unexpect, std::move(e.error())),
1630
13.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.8k
    {
1632
13.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
13.2k
        : base(unexpect, std::move(e.error())),
1630
13.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.2k
    {
1632
13.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
13.2k
        : base(unexpect, std::move(e.error())),
1630
13.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.2k
    {
1632
13.2k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1629
13.2k
        : base(unexpect, std::move(e.error())),
1630
13.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
13.2k
    {
1632
13.2k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1629
185k
        : base(unexpect, std::move(e.error())),
1630
185k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
185k
    {
1632
185k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1629
38.1k
        : base(unexpect, std::move(e.error())),
1630
38.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
38.1k
    {
1632
38.1k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1629
21.6k
        : base(unexpect, std::move(e.error())),
1630
21.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
21.6k
    {
1632
21.6k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1629
385k
        : base(unexpect, std::move(e.error())),
1630
385k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
385k
    {
1632
385k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
530
        : base(unexpect, std::move(e.error())),
1630
530
          ctor_base(detail::non_default_ctor_tag_t{})
1631
530
    {
1632
530
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
530
        : base(unexpect, std::move(e.error())),
1630
530
          ctor_base(detail::non_default_ctor_tag_t{})
1631
530
    {
1632
530
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1629
238
        : base(unexpect, std::move(e.error())),
1630
238
          ctor_base(detail::non_default_ctor_tag_t{})
1631
238
    {
1632
238
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
6.36k
        : base(unexpect, std::move(e.error())),
1630
6.36k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.36k
    {
1632
6.36k
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
854
        : base(unexpect, std::move(e.error())),
1630
854
          ctor_base(detail::non_default_ctor_tag_t{})
1631
854
    {
1632
854
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
6.06k
        : base(unexpect, std::move(e.error())),
1630
6.06k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
6.06k
    {
1632
6.06k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
24
        : base(unexpect, std::move(e.error())),
1630
24
          ctor_base(detail::non_default_ctor_tag_t{})
1631
24
    {
1632
24
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
1.04k
        : base(unexpect, std::move(e.error())),
1630
1.04k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.04k
    {
1632
1.04k
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
11.4k
        : base(unexpect, std::move(e.error())),
1630
11.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
11.4k
    {
1632
11.4k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
24
        : base(unexpect, std::move(e.error())),
1630
24
          ctor_base(detail::non_default_ctor_tag_t{})
1631
24
    {
1632
24
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
182
        : base(unexpect, std::move(e.error())),
1630
182
          ctor_base(detail::non_default_ctor_tag_t{})
1631
182
    {
1632
182
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
340
        : base(unexpect, std::move(e.error())),
1630
340
          ctor_base(detail::non_default_ctor_tag_t{})
1631
340
    {
1632
340
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1629
116
        : base(unexpect, std::move(e.error())),
1630
116
          ctor_base(detail::non_default_ctor_tag_t{})
1631
116
    {
1632
116
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
2.63k
        : base(unexpect, std::move(e.error())),
1630
2.63k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
2.63k
    {
1632
2.63k
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
586
        : base(unexpect, std::move(e.error())),
1630
586
          ctor_base(detail::non_default_ctor_tag_t{})
1631
586
    {
1632
586
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
3.79k
        : base(unexpect, std::move(e.error())),
1630
3.79k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
3.79k
    {
1632
3.79k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
Line
Count
Source
1629
44
        : base(unexpect, std::move(e.error())),
1630
44
          ctor_base(detail::non_default_ctor_tag_t{})
1631
44
    {
1632
44
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
1.25k
        : base(unexpect, std::move(e.error())),
1630
1.25k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.25k
    {
1632
1.25k
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
12.4k
        : base(unexpect, std::move(e.error())),
1630
12.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.4k
    {
1632
12.4k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1629
44
        : base(unexpect, std::move(e.error())),
1630
44
          ctor_base(detail::non_default_ctor_tag_t{})
1631
44
    {
1632
44
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1629
382
        : base(unexpect, std::move(e.error())),
1630
382
          ctor_base(detail::non_default_ctor_tag_t{})
1631
382
    {
1632
382
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1629
116
        : base(unexpect, std::move(e.error())),
1630
116
          ctor_base(detail::non_default_ctor_tag_t{})
1631
116
    {
1632
116
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
1633
1634
    /// Construct an unexpected value directly in-place
1635
    template <typename... Args,
1636
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1637
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1638
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1639
6.51k
        : base(unexpect, std::forward<Args>(args)...),
1640
6.51k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
6.51k
    {
1642
6.51k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
952
        : base(unexpect, std::forward<Args>(args)...),
1640
952
          ctor_base(detail::non_default_ctor_tag_t{})
1641
952
    {
1642
952
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.91k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.91k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.91k
    {
1642
1.91k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
460
        : base(unexpect, std::forward<Args>(args)...),
1640
460
          ctor_base(detail::non_default_ctor_tag_t{})
1641
460
    {
1642
460
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.12k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.12k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.12k
    {
1642
1.12k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.09k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.09k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.09k
    {
1642
1.09k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
326
        : base(unexpect, std::forward<Args>(args)...),
1640
326
          ctor_base(detail::non_default_ctor_tag_t{})
1641
326
    {
1642
326
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
182
        : base(unexpect, std::forward<Args>(args)...),
1640
182
          ctor_base(detail::non_default_ctor_tag_t{})
1641
182
    {
1642
182
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
102
        : base(unexpect, std::forward<Args>(args)...),
1640
102
          ctor_base(detail::non_default_ctor_tag_t{})
1641
102
    {
1642
102
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
238
        : base(unexpect, std::forward<Args>(args)...),
1640
238
          ctor_base(detail::non_default_ctor_tag_t{})
1641
238
    {
1642
238
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
116
        : base(unexpect, std::forward<Args>(args)...),
1640
116
          ctor_base(detail::non_default_ctor_tag_t{})
1641
116
    {
1642
116
    }
1643
1644
    template <
1645
        typename U,
1646
        typename G,
1647
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1648
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1649
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1650
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1651
        std::is_nothrow_constructible_v<T, const U&> &&
1652
        std::is_nothrow_constructible_v<E, const G&>)
1653
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1654
    {
1655
        if (other.has_value()) {
1656
            this->construct(*other);
1657
        }
1658
        else {
1659
            this->construct_unexpected(other.error());
1660
        }
1661
    }
1662
    template <
1663
        typename U,
1664
        typename G,
1665
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1666
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1667
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1668
    constexpr expected(const expected<U, G>& other) noexcept(
1669
        std::is_nothrow_constructible_v<T, const U&> &&
1670
        std::is_nothrow_constructible_v<E, const G&>)
1671
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1672
    {
1673
        if (other.has_value()) {
1674
            this->construct(*other);
1675
        }
1676
        else {
1677
            this->construct_unexpected(other.error());
1678
        }
1679
    }
1680
1681
    template <typename U,
1682
              typename G,
1683
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1684
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1685
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1686
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1687
        std::is_nothrow_constructible_v<T, U&&> &&
1688
        std::is_nothrow_constructible_v<E, G&&>)
1689
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1690
    {
1691
        if (other.has_value()) {
1692
            this->construct(std::move(*other));
1693
        }
1694
        else {
1695
            this->construct_unexpected(std::move(other.error()));
1696
        }
1697
    }
1698
    template <typename U,
1699
              typename G,
1700
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1701
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1702
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1703
    constexpr expected(expected<U, G>&& other) noexcept(
1704
        std::is_nothrow_constructible_v<T, U&&> &&
1705
        std::is_nothrow_constructible_v<E, G&&>)
1706
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1707
    {
1708
        if (other.has_value()) {
1709
            this->construct(std::move(*other));
1710
        }
1711
        else {
1712
            this->construct_unexpected(std::move(other.error()));
1713
        }
1714
    }
1715
1716
    template <typename U = value_type,
1717
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1718
    expected& operator=(U&& val) noexcept(
1719
        noexcept(assign_value(std::forward<U>(val))))
1720
    {
1721
        assign_value(std::forward<U>(val));
1722
        return *this;
1723
    }
1724
1725
    expected& operator=(const unexpected_type& unex) noexcept(
1726
        noexcept(assign_unexpected(unex)))
1727
    {
1728
        assign_unexpected(unex);
1729
        return *this;
1730
    }
1731
    expected& operator=(unexpected_type&& unex) noexcept(
1732
        noexcept(assign_unexpected(std::move(unex))))
1733
    {
1734
        assign_unexpected(std::move(unex));
1735
        return *this;
1736
    }
1737
1738
    /// Destroys the contained value, and then initializes the expected
1739
    /// value directly in-place.
1740
    template <typename... Args,
1741
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1742
    decltype(auto) emplace(Args&&... args) noexcept(
1743
        std::is_nothrow_constructible_v<T, Args...>)
1744
    {
1745
        emplace_impl(std::forward<Args>(args)...);
1746
        if constexpr (!std::is_void_v<T>) {
1747
            return this->get_value();
1748
        }
1749
    }
1750
1751
    using base::has_value;
1752
    constexpr explicit operator bool() const noexcept
1753
4.39M
    {
1754
4.39M
        return has_value();
1755
4.39M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
62.2k
    {
1754
62.2k
        return has_value();
1755
62.2k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
192k
    {
1754
192k
        return has_value();
1755
192k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
124k
    {
1754
124k
        return has_value();
1755
124k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
3.71M
    {
1754
3.71M
        return has_value();
1755
3.71M
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
66.6k
    {
1754
66.6k
        return has_value();
1755
66.6k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
46.5k
    {
1754
46.5k
        return has_value();
1755
46.5k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
42.6k
    {
1754
42.6k
        return has_value();
1755
42.6k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
8.33k
    {
1754
8.33k
        return has_value();
1755
8.33k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
6.06k
    {
1754
6.06k
        return has_value();
1755
6.06k
    }
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
11.9k
    {
1754
11.9k
        return has_value();
1755
11.9k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
8.78k
    {
1754
8.78k
        return has_value();
1755
8.78k
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
1.15k
    {
1754
1.15k
        return has_value();
1755
1.15k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
1.15k
    {
1754
1.15k
        return has_value();
1755
1.15k
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
24
    {
1754
24
        return has_value();
1755
24
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
12.4k
    {
1754
12.4k
        return has_value();
1755
12.4k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
15.4k
    {
1754
15.4k
        return has_value();
1755
15.4k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
2.78k
    {
1754
2.78k
        return has_value();
1755
2.78k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
2.78k
    {
1754
2.78k
        return has_value();
1755
2.78k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
24
    {
1754
24
        return has_value();
1755
24
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
394
    {
1754
394
        return has_value();
1755
394
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
930
    {
1754
930
        return has_value();
1755
930
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
6.29k
    {
1754
6.29k
        return has_value();
1755
6.29k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
1.61k
    {
1754
1.61k
        return has_value();
1755
1.61k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
3.06k
    {
1754
3.06k
        return has_value();
1755
3.06k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
7.66k
    {
1754
7.66k
        return has_value();
1755
7.66k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
5.65k
    {
1754
5.65k
        return has_value();
1755
5.65k
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
764
    {
1754
764
        return has_value();
1755
764
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
764
    {
1754
764
        return has_value();
1755
764
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
52
    {
1754
52
        return has_value();
1755
52
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
6.59k
    {
1754
6.59k
        return has_value();
1755
6.59k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
21.3k
    {
1754
21.3k
        return has_value();
1755
21.3k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
3.10k
    {
1754
3.10k
        return has_value();
1755
3.10k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
3.10k
    {
1754
3.10k
        return has_value();
1755
3.10k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
52
    {
1754
52
        return has_value();
1755
52
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
246
    {
1754
246
        return has_value();
1755
246
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
1.07k
    {
1754
1.07k
        return has_value();
1755
1.07k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
1.32k
    {
1754
1.32k
        return has_value();
1755
1.32k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
2.49k
    {
1754
2.49k
        return has_value();
1755
2.49k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
1.66k
    {
1754
1.66k
        return has_value();
1755
1.66k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1756
1757
    /// Get the unexpected value, if one is contained in *this
1758
    constexpr error_type& error() & noexcept
1759
664k
    {
1760
664k
        SCN_EXPECT(!has_value());
1761
664k
        return this->get_unexpected().error();
1762
664k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
59.5k
    {
1760
59.5k
        SCN_EXPECT(!has_value());
1761
59.5k
        return this->get_unexpected().error();
1762
59.5k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1759
189k
    {
1760
189k
        SCN_EXPECT(!has_value());
1761
189k
        return this->get_unexpected().error();
1762
189k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
122k
    {
1760
122k
        SCN_EXPECT(!has_value());
1761
122k
        return this->get_unexpected().error();
1762
122k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1759
203k
    {
1760
203k
        SCN_EXPECT(!has_value());
1761
203k
        return this->get_unexpected().error();
1762
203k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1759
38.1k
    {
1760
38.1k
        SCN_EXPECT(!has_value());
1761
38.1k
        return this->get_unexpected().error();
1762
38.1k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1759
21.7k
    {
1760
21.7k
        SCN_EXPECT(!has_value());
1761
21.7k
        return this->get_unexpected().error();
1762
21.7k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
238
    {
1760
238
        SCN_EXPECT(!has_value());
1761
238
        return this->get_unexpected().error();
1762
238
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
3.18k
    {
1760
3.18k
        SCN_EXPECT(!has_value());
1761
3.18k
        return this->get_unexpected().error();
1762
3.18k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
24
    {
1760
24
        SCN_EXPECT(!has_value());
1761
24
        return this->get_unexpected().error();
1762
24
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
7.88k
    {
1760
7.88k
        SCN_EXPECT(!has_value());
1761
7.88k
        return this->get_unexpected().error();
1762
7.88k
    }
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
5.69k
    {
1760
5.69k
        SCN_EXPECT(!has_value());
1761
5.69k
        return this->get_unexpected().error();
1762
5.69k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
24
    {
1760
24
        SCN_EXPECT(!has_value());
1761
24
        return this->get_unexpected().error();
1762
24
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
116
    {
1760
116
        SCN_EXPECT(!has_value());
1761
116
        return this->get_unexpected().error();
1762
116
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1759
14
    {
1760
14
        SCN_EXPECT(!has_value());
1761
14
        return this->get_unexpected().error();
1762
14
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
2.05k
    {
1760
2.05k
        SCN_EXPECT(!has_value());
1761
2.05k
        return this->get_unexpected().error();
1762
2.05k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
44
    {
1760
44
        SCN_EXPECT(!has_value());
1761
44
        return this->get_unexpected().error();
1762
44
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
3.51k
    {
1760
3.51k
        SCN_EXPECT(!has_value());
1761
3.51k
        return this->get_unexpected().error();
1762
3.51k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
6.53k
    {
1760
6.53k
        SCN_EXPECT(!has_value());
1761
6.53k
        return this->get_unexpected().error();
1762
6.53k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
44
    {
1760
44
        SCN_EXPECT(!has_value());
1761
44
        return this->get_unexpected().error();
1762
44
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
238
    {
1760
238
        SCN_EXPECT(!has_value());
1761
238
        return this->get_unexpected().error();
1762
238
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
116
    {
1760
116
        SCN_EXPECT(!has_value());
1761
116
        return this->get_unexpected().error();
1762
116
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1763
    constexpr const error_type& error() const& noexcept
1764
0
    {
1765
0
        SCN_EXPECT(!has_value());
1766
0
        return this->get_unexpected().error();
1767
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1768
    constexpr error_type&& error() && noexcept
1769
8.29k
    {
1770
8.29k
        SCN_EXPECT(!has_value());
1771
8.29k
        return std::move(this->get_unexpected().error());
1772
8.29k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &&
Line
Count
Source
1769
5.08k
    {
1770
5.08k
        SCN_EXPECT(!has_value());
1771
5.08k
        return std::move(this->get_unexpected().error());
1772
5.08k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
102
    {
1770
102
        SCN_EXPECT(!has_value());
1771
102
        return std::move(this->get_unexpected().error());
1772
102
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
460
    {
1770
460
        SCN_EXPECT(!has_value());
1771
460
        return std::move(this->get_unexpected().error());
1772
460
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1769
1.12k
    {
1770
1.12k
        SCN_EXPECT(!has_value());
1771
1.12k
        return std::move(this->get_unexpected().error());
1772
1.12k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
326
    {
1770
326
        SCN_EXPECT(!has_value());
1771
326
        return std::move(this->get_unexpected().error());
1772
326
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
182
    {
1770
182
        SCN_EXPECT(!has_value());
1771
182
        return std::move(this->get_unexpected().error());
1772
182
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1769
656
    {
1770
656
        SCN_EXPECT(!has_value());
1771
656
        return std::move(this->get_unexpected().error());
1772
656
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
238
    {
1770
238
        SCN_EXPECT(!has_value());
1771
238
        return std::move(this->get_unexpected().error());
1772
238
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
116
    {
1770
116
        SCN_EXPECT(!has_value());
1771
116
        return std::move(this->get_unexpected().error());
1772
116
    }
1773
    constexpr const error_type&& error() const&& noexcept
1774
    {
1775
        SCN_EXPECT(!has_value());
1776
        return std::move(this->get_unexpected().error());
1777
    }
1778
1779
    /// Get the expected value, if one is contained in *this
1780
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1781
    constexpr U& value() & noexcept
1782
407k
    {
1783
407k
        SCN_EXPECT(has_value());
1784
407k
        return this->get_value();
1785
407k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
2.68k
    {
1783
2.68k
        SCN_EXPECT(has_value());
1784
2.68k
        return this->get_value();
1785
2.68k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1782
5.05k
    {
1783
5.05k
        SCN_EXPECT(has_value());
1784
5.05k
        return this->get_value();
1785
5.05k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
7.19k
    {
1783
7.19k
        SCN_EXPECT(has_value());
1784
7.19k
        return this->get_value();
1785
7.19k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
6.92k
    {
1783
6.92k
        SCN_EXPECT(has_value());
1784
6.92k
        return this->get_value();
1785
6.92k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
6.92k
    {
1783
6.92k
        SCN_EXPECT(has_value());
1784
6.92k
        return this->get_value();
1785
6.92k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
6.92k
    {
1783
6.92k
        SCN_EXPECT(has_value());
1784
6.92k
        return this->get_value();
1785
6.92k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
6.92k
    {
1783
6.92k
        SCN_EXPECT(has_value());
1784
6.92k
        return this->get_value();
1785
6.92k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELSA_0EEERSH_v
Line
Count
Source
1782
6.92k
    {
1783
6.92k
        SCN_EXPECT(has_value());
1784
6.92k
        return this->get_value();
1785
6.92k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
7.72k
    {
1783
7.72k
        SCN_EXPECT(has_value());
1784
7.72k
        return this->get_value();
1785
7.72k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
7.72k
    {
1783
7.72k
        SCN_EXPECT(has_value());
1784
7.72k
        return this->get_value();
1785
7.72k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1782
7.72k
    {
1783
7.72k
        SCN_EXPECT(has_value());
1784
7.72k
        return this->get_value();
1785
7.72k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
2.15k
    {
1783
2.15k
        SCN_EXPECT(has_value());
1784
2.15k
        return this->get_value();
1785
2.15k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
14.1k
    {
1783
14.1k
        SCN_EXPECT(has_value());
1784
14.1k
        return this->get_value();
1785
14.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
13.8k
    {
1783
13.8k
        SCN_EXPECT(has_value());
1784
13.8k
        return this->get_value();
1785
13.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
13.8k
    {
1783
13.8k
        SCN_EXPECT(has_value());
1784
13.8k
        return this->get_value();
1785
13.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
13.8k
    {
1783
13.8k
        SCN_EXPECT(has_value());
1784
13.8k
        return this->get_value();
1785
13.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
13.8k
    {
1783
13.8k
        SCN_EXPECT(has_value());
1784
13.8k
        return this->get_value();
1785
13.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELSA_0EEERSH_v
Line
Count
Source
1782
13.8k
    {
1783
13.8k
        SCN_EXPECT(has_value());
1784
13.8k
        return this->get_value();
1785
13.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
14.4k
    {
1783
14.4k
        SCN_EXPECT(has_value());
1784
14.4k
        return this->get_value();
1785
14.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
14.4k
    {
1783
14.4k
        SCN_EXPECT(has_value());
1784
14.4k
        return this->get_value();
1785
14.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1782
14.4k
    {
1783
14.4k
        SCN_EXPECT(has_value());
1784
14.4k
        return this->get_value();
1785
14.4k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1782
25.7k
    {
1783
25.7k
        SCN_EXPECT(has_value());
1784
25.7k
        return this->get_value();
1785
25.7k
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1782
21.6k
    {
1783
21.6k
        SCN_EXPECT(has_value());
1784
21.6k
        return this->get_value();
1785
21.6k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
47.3k
    {
1783
47.3k
        SCN_EXPECT(has_value());
1784
47.3k
        return this->get_value();
1785
47.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
9.39k
    {
1783
9.39k
        SCN_EXPECT(has_value());
1784
9.39k
        return this->get_value();
1785
9.39k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
5.82k
    {
1783
5.82k
        SCN_EXPECT(has_value());
1784
5.82k
        return this->get_value();
1785
5.82k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
11.9k
    {
1783
11.9k
        SCN_EXPECT(has_value());
1784
11.9k
        return this->get_value();
1785
11.9k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
2.14k
    {
1783
2.14k
        SCN_EXPECT(has_value());
1784
2.14k
        return this->get_value();
1785
2.14k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
1.54k
    {
1783
1.54k
        SCN_EXPECT(has_value());
1784
1.54k
        return this->get_value();
1785
1.54k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
1.15k
    {
1783
1.15k
        SCN_EXPECT(has_value());
1784
1.15k
        return this->get_value();
1785
1.15k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
1.15k
    {
1783
1.15k
        SCN_EXPECT(has_value());
1784
1.15k
        return this->get_value();
1785
1.15k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
3.73k
    {
1783
3.73k
        SCN_EXPECT(has_value());
1784
3.73k
        return this->get_value();
1785
3.73k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
1.99k
    {
1783
1.99k
        SCN_EXPECT(has_value());
1784
1.99k
        return this->get_value();
1785
1.99k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
3.71k
    {
1783
3.71k
        SCN_EXPECT(has_value());
1784
3.71k
        return this->get_value();
1785
3.71k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
2.78k
    {
1783
2.78k
        SCN_EXPECT(has_value());
1784
2.78k
        return this->get_value();
1785
2.78k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
2.78k
    {
1783
2.78k
        SCN_EXPECT(has_value());
1784
2.78k
        return this->get_value();
1785
2.78k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
394
    {
1783
394
        SCN_EXPECT(has_value());
1784
394
        return this->get_value();
1785
394
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
930
    {
1783
930
        SCN_EXPECT(has_value());
1784
930
        return this->get_value();
1785
930
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
15.5k
    {
1783
15.5k
        SCN_EXPECT(has_value());
1784
15.5k
        return this->get_value();
1785
15.5k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
2.03k
    {
1783
2.03k
        SCN_EXPECT(has_value());
1784
2.03k
        return this->get_value();
1785
2.03k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
2.95k
    {
1783
2.95k
        SCN_EXPECT(has_value());
1784
2.95k
        return this->get_value();
1785
2.95k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
7.66k
    {
1783
7.66k
        SCN_EXPECT(has_value());
1784
7.66k
        return this->get_value();
1785
7.66k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
1.42k
    {
1783
1.42k
        SCN_EXPECT(has_value());
1784
1.42k
        return this->get_value();
1785
1.42k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
1.01k
    {
1783
1.01k
        SCN_EXPECT(has_value());
1784
1.01k
        return this->get_value();
1785
1.01k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
764
    {
1783
764
        SCN_EXPECT(has_value());
1784
764
        return this->get_value();
1785
764
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
764
    {
1783
764
        SCN_EXPECT(has_value());
1784
764
        return this->get_value();
1785
764
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Line
Count
Source
1782
8
    {
1783
8
        SCN_EXPECT(has_value());
1784
8
        return this->get_value();
1785
8
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
2.56k
    {
1783
2.56k
        SCN_EXPECT(has_value());
1784
2.56k
        return this->get_value();
1785
2.56k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
6.32k
    {
1783
6.32k
        SCN_EXPECT(has_value());
1784
6.32k
        return this->get_value();
1785
6.32k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
4.17k
    {
1783
4.17k
        SCN_EXPECT(has_value());
1784
4.17k
        return this->get_value();
1785
4.17k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
3.10k
    {
1783
3.10k
        SCN_EXPECT(has_value());
1784
3.10k
        return this->get_value();
1785
3.10k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
3.10k
    {
1783
3.10k
        SCN_EXPECT(has_value());
1784
3.10k
        return this->get_value();
1785
3.10k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1782
8
    {
1783
8
        SCN_EXPECT(has_value());
1784
8
        return this->get_value();
1785
8
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
246
    {
1783
246
        SCN_EXPECT(has_value());
1784
246
        return this->get_value();
1785
246
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
1.07k
    {
1783
1.07k
        SCN_EXPECT(has_value());
1784
1.07k
        return this->get_value();
1785
1.07k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1782
4.01k
    {
1783
4.01k
        SCN_EXPECT(has_value());
1784
4.01k
        return this->get_value();
1785
4.01k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1782
2.25k
    {
1783
2.25k
        SCN_EXPECT(has_value());
1784
2.25k
        return this->get_value();
1785
2.25k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1782
1.55k
    {
1783
1.55k
        SCN_EXPECT(has_value());
1784
1.55k
        return this->get_value();
1785
1.55k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1782
1.55k
    {
1783
1.55k
        SCN_EXPECT(has_value());
1784
1.55k
        return this->get_value();
1785
1.55k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
1786
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1787
    constexpr const U& value() const& noexcept
1788
0
    {
1789
0
        SCN_EXPECT(has_value());
1790
0
        return this->get_value();
1791
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1792
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1793
    constexpr U&& value() && noexcept
1794
    {
1795
        SCN_EXPECT(has_value());
1796
        return std::move(this->get_value());
1797
    }
1798
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1799
    constexpr const U&& value() const&& noexcept
1800
    {
1801
        SCN_EXPECT(has_value());
1802
        return std::move(this->get_value());
1803
    }
1804
1805
    /// Get the expected value, if one is contained in *this
1806
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1807
    constexpr U& operator*() & noexcept
1808
71.4k
    {
1809
71.4k
        return value();
1810
71.4k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1808
2.68k
    {
1809
2.68k
        return value();
1810
2.68k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1808
4.83k
    {
1809
4.83k
        return value();
1810
4.83k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1808
2.15k
    {
1809
2.15k
        return value();
1810
2.15k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
36.8k
    {
1809
36.8k
        return value();
1810
36.8k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1808
6.24k
    {
1809
6.24k
        return value();
1810
6.24k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1808
882
    {
1809
882
        return value();
1810
882
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1808
9.59k
    {
1809
9.59k
        return value();
1810
9.59k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
72
    {
1809
72
        return value();
1810
72
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1808
40
    {
1809
40
        return value();
1810
40
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1808
102
    {
1809
102
        return value();
1810
102
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
112
    {
1809
112
        return value();
1810
112
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1808
556
    {
1809
556
        return value();
1810
556
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1808
5.58k
    {
1809
5.58k
        return value();
1810
5.58k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1808
1.76k
    {
1809
1.76k
        return value();
1810
1.76k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1811
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1812
    constexpr const U& operator*() const& noexcept
1813
0
    {
1814
0
        return value();
1815
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1816
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1817
    constexpr U&& operator*() && noexcept
1818
144k
    {
1819
144k
        return std::move(value());
1820
144k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1818
16.1k
    {
1819
16.1k
        return std::move(value());
1820
16.1k
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1818
16.0k
    {
1819
16.0k
        return std::move(value());
1820
16.0k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
10.4k
    {
1819
10.4k
        return std::move(value());
1820
10.4k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
3.14k
    {
1819
3.14k
        return std::move(value());
1820
3.14k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
5.82k
    {
1819
5.82k
        return std::move(value());
1820
5.82k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
11.9k
    {
1819
11.9k
        return std::move(value());
1820
11.9k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1818
1.54k
    {
1819
1.54k
        return std::move(value());
1820
1.54k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
2.14k
    {
1819
2.14k
        return std::move(value());
1820
2.14k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
1.15k
    {
1819
1.15k
        return std::move(value());
1820
1.15k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
1.15k
    {
1819
1.15k
        return std::move(value());
1820
1.15k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
2.85k
    {
1819
2.85k
        return std::move(value());
1820
2.85k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
3.71k
    {
1819
3.71k
        return std::move(value());
1820
3.71k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
2.78k
    {
1819
2.78k
        return std::move(value());
1820
2.78k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
2.78k
    {
1819
2.78k
        return std::move(value());
1820
2.78k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Line
Count
Source
1818
212
    {
1819
212
        return std::move(value());
1820
212
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1818
394
    {
1819
394
        return std::move(value());
1820
394
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
930
    {
1819
930
        return std::move(value());
1820
930
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
1.99k
    {
1819
1.99k
        return std::move(value());
1820
1.99k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
2.95k
    {
1819
2.95k
        return std::move(value());
1820
2.95k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
15.4k
    {
1819
15.4k
        return std::move(value());
1820
15.4k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
7.66k
    {
1819
7.66k
        return std::move(value());
1820
7.66k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1818
1.01k
    {
1819
1.01k
        return std::move(value());
1820
1.01k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
1.32k
    {
1819
1.32k
        return std::move(value());
1820
1.32k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
764
    {
1819
764
        return std::move(value());
1820
764
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
764
    {
1819
764
        return std::move(value());
1820
764
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Line
Count
Source
1818
8
    {
1819
8
        return std::move(value());
1820
8
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
2.01k
    {
1819
2.01k
        return std::move(value());
1820
2.01k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
4.17k
    {
1819
4.17k
        return std::move(value());
1820
4.17k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
6.21k
    {
1819
6.21k
        return std::move(value());
1820
6.21k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
3.10k
    {
1819
3.10k
        return std::move(value());
1820
3.10k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
3.10k
    {
1819
3.10k
        return std::move(value());
1820
3.10k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1818
8
    {
1819
8
        return std::move(value());
1820
8
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1818
246
    {
1819
246
        return std::move(value());
1820
246
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
1.07k
    {
1819
1.07k
        return std::move(value());
1820
1.07k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
1.99k
    {
1819
1.99k
        return std::move(value());
1820
1.99k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1818
2.25k
    {
1819
2.25k
        return std::move(value());
1820
2.25k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1818
2.25k
    {
1819
2.25k
        return std::move(value());
1820
2.25k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1818
1.55k
    {
1819
1.55k
        return std::move(value());
1820
1.55k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1818
1.55k
    {
1819
1.55k
        return std::move(value());
1820
1.55k
    }
1821
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1822
    constexpr const U&& operator*() const&& noexcept
1823
    {
1824
        return std::move(value());
1825
    }
1826
1827
    constexpr value_type* operator->() noexcept
1828
191k
    {
1829
191k
        return &value();
1830
191k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
7.19k
    {
1829
7.19k
        return &value();
1830
7.19k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
6.92k
    {
1829
6.92k
        return &value();
1830
6.92k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
6.92k
    {
1829
6.92k
        return &value();
1830
6.92k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
6.92k
    {
1829
6.92k
        return &value();
1830
6.92k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
6.92k
    {
1829
6.92k
        return &value();
1830
6.92k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
6.92k
    {
1829
6.92k
        return &value();
1830
6.92k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
7.72k
    {
1829
7.72k
        return &value();
1830
7.72k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
7.72k
    {
1829
7.72k
        return &value();
1830
7.72k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
7.72k
    {
1829
7.72k
        return &value();
1830
7.72k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
14.1k
    {
1829
14.1k
        return &value();
1830
14.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
13.8k
    {
1829
13.8k
        return &value();
1830
13.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
13.8k
    {
1829
13.8k
        return &value();
1830
13.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
13.8k
    {
1829
13.8k
        return &value();
1830
13.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
13.8k
    {
1829
13.8k
        return &value();
1830
13.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
13.8k
    {
1829
13.8k
        return &value();
1830
13.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
14.4k
    {
1829
14.4k
        return &value();
1830
14.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
14.4k
    {
1829
14.4k
        return &value();
1830
14.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
14.4k
    {
1829
14.4k
        return &value();
1830
14.4k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1831
    constexpr const value_type* operator->() const noexcept
1832
    {
1833
        return &value();
1834
    }
1835
1836
    /// Returns the expected value if *this contains one, otherwise
1837
    /// returns default_value
1838
    template <typename U,
1839
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1840
                                          std::is_convertible_v<U, T>>>
1841
    constexpr T value_or(U&& default_value) const& noexcept(
1842
        std::is_nothrow_copy_constructible_v<T> &&
1843
        std::is_nothrow_constructible_v<T, U&&>)
1844
    {
1845
        if (has_value()) {
1846
            return value();
1847
        }
1848
        return std::forward<U>(default_value);
1849
    }
1850
    template <typename U,
1851
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1852
                                          std::is_convertible_v<U, T>>>
1853
    constexpr T value_or(U&& default_value) && noexcept(
1854
        std::is_nothrow_move_constructible_v<T> &&
1855
        std::is_nothrow_constructible_v<T, U&&>)
1856
    {
1857
        if (has_value()) {
1858
            return std::move(value());
1859
        }
1860
        return std::forward<U>(default_value);
1861
    }
1862
1863
    template <typename G,
1864
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1865
                                          std::is_convertible_v<G, E>>>
1866
    constexpr E error_or(G&& default_error) const& noexcept(
1867
        std::is_nothrow_copy_constructible_v<E> &&
1868
        std::is_nothrow_constructible_v<E, G&&>)
1869
    {
1870
        if (!has_value()) {
1871
            return error();
1872
        }
1873
        return std::forward<G>(default_error);
1874
    }
1875
    template <typename G,
1876
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1877
                                          std::is_convertible_v<G, E>>>
1878
    constexpr E error_or(G&& default_error) && noexcept(
1879
        std::is_nothrow_move_constructible_v<E> &&
1880
        std::is_nothrow_constructible_v<E, G&&>)
1881
    {
1882
        if (!has_value()) {
1883
            return std::move(error());
1884
        }
1885
        return std::forward<G>(default_error);
1886
    }
1887
1888
    template <typename F>
1889
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1890
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1891
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1892
    {
1893
        return detail::and_then_impl(*this, std::forward<F>(f));
1894
    }
1895
    template <typename F>
1896
    constexpr auto and_then(F&& f) const& noexcept(
1897
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1898
                                       std::forward<F>(f))))
1899
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1900
    {
1901
        return detail::and_then_impl(*this, std::forward<F>(f));
1902
    }
1903
    template <typename F>
1904
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1905
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1906
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1907
    {
1908
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1909
    }
1910
    template <typename F>
1911
    constexpr auto and_then(F&& f) const&& noexcept(
1912
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1913
                                       std::forward<F>(f))))
1914
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1915
    {
1916
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1917
    }
1918
1919
    template <typename F>
1920
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1921
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1922
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1923
    {
1924
        return detail::or_else_impl(*this, std::forward<F>(f));
1925
    }
1926
    template <typename F>
1927
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1928
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1929
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1930
    {
1931
        return detail::or_else_impl(*this, std::forward<F>(f));
1932
    }
1933
    template <typename F>
1934
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1935
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1936
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1937
    {
1938
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1939
    }
1940
    template <typename F>
1941
    constexpr auto or_else(F&& f) const&& noexcept(
1942
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1943
                                      std::forward<F>(f))))
1944
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1945
    {
1946
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1947
    }
1948
1949
    template <typename F>
1950
    constexpr auto transform(
1951
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1952
    {
1953
        return detail::transform_impl(*this, std::forward<F>(f));
1954
    }
1955
    template <typename F>
1956
    constexpr auto transform(F&& f)
1957
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1958
    {
1959
        return detail::transform_impl(*this, std::forward<F>(f));
1960
    }
1961
    template <typename F>
1962
    constexpr auto transform(
1963
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1964
    {
1965
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1966
    }
1967
    template <typename F>
1968
    constexpr auto transform(F&& f)
1969
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1970
    {
1971
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1972
    }
1973
1974
    template <typename F>
1975
    constexpr auto transform_error(
1976
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1977
                                                          std::forward<F>(f)))
1978
3.30k
    {
1979
3.30k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
3.30k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
788
    {
1979
788
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
788
    }
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
952
    {
1979
952
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
952
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
470
    {
1979
470
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
470
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1978
1.09k
    {
1979
1.09k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
1.09k
    }
1981
    template <typename F>
1982
    constexpr auto transform_error(F&& f)
1983
        const& -> decltype(detail::transform_error_impl(*this,
1984
                                                        std::forward<F>(f)))
1985
    {
1986
        return detail::transform_error_impl(*this, std::forward<F>(f));
1987
    }
1988
    template <typename F>
1989
    constexpr auto transform_error(
1990
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1991
                                                           std::forward<F>(f)))
1992
48.5k
    {
1993
48.5k
        return detail::transform_error_impl(std::move(*this),
1994
48.5k
                                            std::forward<F>(f));
1995
48.5k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
8.48k
    {
1993
8.48k
        return detail::transform_error_impl(std::move(*this),
1994
8.48k
                                            std::forward<F>(f));
1995
8.48k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1992
1.00k
    {
1993
1.00k
        return detail::transform_error_impl(std::move(*this),
1994
1.00k
                                            std::forward<F>(f));
1995
1.00k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1992
2.60k
    {
1993
2.60k
        return detail::transform_error_impl(std::move(*this),
1994
2.60k
                                            std::forward<F>(f));
1995
2.60k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1992
1.15k
    {
1993
1.15k
        return detail::transform_error_impl(std::move(*this),
1994
1.15k
                                            std::forward<F>(f));
1995
1.15k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1992
1.12k
    {
1993
1.12k
        return detail::transform_error_impl(std::move(*this),
1994
1.12k
                                            std::forward<F>(f));
1995
1.12k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
2.78k
    {
1993
2.78k
        return detail::transform_error_impl(std::move(*this),
1994
2.78k
                                            std::forward<F>(f));
1995
2.78k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1992
394
    {
1993
394
        return detail::transform_error_impl(std::move(*this),
1994
394
                                            std::forward<F>(f));
1995
394
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1992
930
    {
1993
930
        return detail::transform_error_impl(std::move(*this),
1994
930
                                            std::forward<F>(f));
1995
930
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1992
714
    {
1993
714
        return detail::transform_error_impl(std::move(*this),
1994
714
                                            std::forward<F>(f));
1995
714
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
9.22k
    {
1993
9.22k
        return detail::transform_error_impl(std::move(*this),
1994
9.22k
                                            std::forward<F>(f));
1995
9.22k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1992
1.60k
    {
1993
1.60k
        return detail::transform_error_impl(std::move(*this),
1994
1.60k
                                            std::forward<F>(f));
1995
1.60k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1992
764
    {
1993
764
        return detail::transform_error_impl(std::move(*this),
1994
764
                                            std::forward<F>(f));
1995
764
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1992
694
    {
1993
694
        return detail::transform_error_impl(std::move(*this),
1994
694
                                            std::forward<F>(f));
1995
694
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
6.39k
    {
1993
6.39k
        return detail::transform_error_impl(std::move(*this),
1994
6.39k
                                            std::forward<F>(f));
1995
6.39k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
3.10k
    {
1993
3.10k
        return detail::transform_error_impl(std::move(*this),
1994
3.10k
                                            std::forward<F>(f));
1995
3.10k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1992
246
    {
1993
246
        return detail::transform_error_impl(std::move(*this),
1994
246
                                            std::forward<F>(f));
1995
246
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1992
1.07k
    {
1993
1.07k
        return detail::transform_error_impl(std::move(*this),
1994
1.07k
                                            std::forward<F>(f));
1995
1.07k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
2.09k
    {
1993
2.09k
        return detail::transform_error_impl(std::move(*this),
1994
2.09k
                                            std::forward<F>(f));
1995
2.09k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1992
2.49k
    {
1993
2.49k
        return detail::transform_error_impl(std::move(*this),
1994
2.49k
                                            std::forward<F>(f));
1995
2.49k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1992
1.66k
    {
1993
1.66k
        return detail::transform_error_impl(std::move(*this),
1994
1.66k
                                            std::forward<F>(f));
1995
1.66k
    }
1996
    template <typename F>
1997
    constexpr auto transform_error(F&& f)
1998
        const&& -> decltype(detail::transform_error_impl(*this,
1999
                                                         std::forward<F>(f)))
2000
    {
2001
        return detail::transform_error_impl(std::move(*this),
2002
                                            std::forward<F>(f));
2003
    }
2004
2005
private:
2006
    template <typename... Args>
2007
    void emplace_impl(Args&&... args) noexcept(
2008
        std::is_nothrow_constructible_v<T, Args&&...>)
2009
    {
2010
        if (this->has_value()) {
2011
            this->destroy_value();
2012
            this->construct(std::forward<Args>(args)...);
2013
        }
2014
        else {
2015
#if SCN_HAS_EXCEPTIONS
2016
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2017
                auto tmp = std::move(error());
2018
                this->destroy_unexpected();
2019
2020
                try {
2021
                    this->construct(std::forward<Args>(args)...);
2022
                }
2023
                catch (...) {
2024
                    this->construct_unexpected(std::move(tmp));
2025
                    throw;
2026
                }
2027
            }
2028
            else {
2029
                this->construct(std::forward<Args>(args)...);
2030
            }
2031
#else
2032
            this->destroy_unexpected();
2033
            this->construct(std::forward<Args>(args)...);
2034
#endif
2035
        }
2036
    }
2037
2038
    template <typename Value>
2039
    void assign_value(Value&& val) noexcept(
2040
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2041
                                        Value&&> &&
2042
        std::is_nothrow_assignable_v<T, Value&&>)
2043
    {
2044
        if (has_value()) {
2045
            this->get_value() = std::forward<Value>(val);
2046
            return;
2047
        }
2048
2049
#if SCN_HAS_EXCEPTIONS
2050
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2051
            this->destroy_unexpected();
2052
            this->construct(std::forward<Value>(val));
2053
        }
2054
        else {
2055
            auto tmp = std::move(this->get_unexpected());
2056
            this->destroy_unexpected();
2057
2058
            try {
2059
                this->construct(std::forward<Value>(val));
2060
            }
2061
            catch (...) {
2062
                this->construct_unexpected(std::move(tmp));
2063
            }
2064
        }
2065
#else
2066
        this->destroy_unexpected();
2067
        this->construct(std::forward<Value>(val));
2068
#endif
2069
    }
2070
2071
    template <typename Unexpected>
2072
    void assign_unexpected(Unexpected&& unex) noexcept(
2073
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2074
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2075
    {
2076
        if (!has_value()) {
2077
            this->get_unexpected() = std::forward<Unexpected>(unex);
2078
            return;
2079
        }
2080
2081
        this->destroy_value();
2082
        this->construct_unexpected(std::forward<Unexpected>(unex));
2083
    }
2084
};
2085
2086
/////////////////////////////////////////////////////////////////
2087
// <ranges> implementation
2088
/////////////////////////////////////////////////////////////////
2089
2090
/**
2091
 * Contains a very minimal `<ranges>` implementation.
2092
 *
2093
 * This is a heavily stripped-down and adapted version of NanoRange:
2094
 * https://github.com/tcbrindle/NanoRange.
2095
 *
2096
 * NanoRange is provided under the Boost license.
2097
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2098
 */
2099
namespace ranges {
2100
2101
namespace detail {
2102
using namespace scn::detail;
2103
2104
template <typename T>
2105
constexpr auto decay_copy(T&& t) noexcept(
2106
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2107
626k
{
2108
626k
    return SCN_FWD(t);
2109
626k
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2107
166k
{
2108
166k
    return SCN_FWD(t);
2109
166k
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2107
265k
{
2108
265k
    return SCN_FWD(t);
2109
265k
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2107
187k
{
2108
187k
    return SCN_FWD(t);
2109
187k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
2107
5.27k
{
2108
5.27k
    return SCN_FWD(t);
2109
5.27k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
2107
2.16k
{
2108
2.16k
    return SCN_FWD(t);
2109
2.16k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2110
2111
template <bool>
2112
struct conditional {
2113
    template <typename T, typename>
2114
    using type = T;
2115
};
2116
2117
template <>
2118
struct conditional<false> {
2119
    template <typename, typename U>
2120
    using type = U;
2121
};
2122
2123
template <bool B, typename T, typename U>
2124
using conditional_t = typename conditional<B>::template type<T, U>;
2125
2126
template <template <class...> class AliasT, typename... Args>
2127
auto exists_helper(long) -> std::false_type;
2128
2129
template <template <class...> class AliasT,
2130
          typename... Args,
2131
          typename = AliasT<Args...>>
2132
auto exists_helper(int) -> std::true_type;
2133
2134
template <template <class...> class AliasT, typename... Args>
2135
inline constexpr bool exists_v =
2136
    decltype(exists_helper<AliasT, Args...>(0))::value;
2137
2138
template <typename, typename...>
2139
auto test_requires_fn(long) -> std::false_type;
2140
2141
template <typename R,
2142
          typename... Args,
2143
          typename = decltype(&R::template requires_<Args...>)>
2144
auto test_requires_fn(int) -> std::true_type;
2145
2146
template <typename R, typename... Args>
2147
inline constexpr bool requires_ =
2148
    decltype(test_requires_fn<R, Args...>(0))::value;
2149
2150
template <bool Expr>
2151
using requires_expr = std::enable_if_t<Expr, int>;
2152
}  // namespace detail
2153
2154
template <typename>
2155
inline constexpr bool enable_borrowed_range = false;
2156
2157
namespace detail {
2158
template <typename T>
2159
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2160
2161
struct boolean_testable_concept {
2162
    template <typename T>
2163
    auto requires_(T&& t)
2164
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2165
};
2166
2167
template <typename T>
2168
inline constexpr bool boolean_testable =
2169
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2170
}  // namespace detail
2171
2172
namespace detail {
2173
struct weakly_equality_comparable_with_concept {
2174
    template <typename T, typename U>
2175
    auto requires_(const std::remove_reference_t<T>& t,
2176
                   const std::remove_reference_t<U>& u)
2177
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2178
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2179
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2180
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2181
};
2182
2183
template <typename T, typename U>
2184
inline constexpr bool weakly_equality_comparable_with =
2185
    requires_<weakly_equality_comparable_with_concept, T, U>;
2186
}  // namespace detail
2187
2188
template <typename T>
2189
inline constexpr bool equality_comparable =
2190
    detail::weakly_equality_comparable_with<T, T>;
2191
2192
namespace detail {
2193
struct equality_comparable_with_concept {
2194
    template <typename, typename>
2195
    static auto test(long) -> std::false_type;
2196
2197
    template <typename T, typename U>
2198
    static auto test(int)
2199
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2200
#if 0
2201
            common_reference_with<const std::remove_reference_t<T>&,
2202
                                  const std::remove_reference_t<U>&> &&
2203
            equality_comparable<
2204
                common_reference_t<const std::remove_reference_t<T>&,
2205
                                   const std::remove_reference_t<U>&>> &&
2206
#endif
2207
                                weakly_equality_comparable_with<T, U>,
2208
                            std::true_type>;
2209
};
2210
}  // namespace detail
2211
2212
template <typename T, typename U>
2213
inline constexpr bool equality_comparable_with =
2214
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2215
2216
namespace detail {
2217
struct partially_ordered_with_concept {
2218
    template <typename T, typename U>
2219
    auto requires_(const std::remove_reference_t<T>& t,
2220
                   const std::remove_reference_t<U>& u)
2221
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2222
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2223
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2224
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2225
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2226
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2227
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2228
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2229
};
2230
2231
template <typename T, typename U>
2232
inline constexpr bool partially_ordered_with =
2233
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2234
}  // namespace detail
2235
2236
template <typename T>
2237
inline constexpr bool totally_ordered =
2238
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2239
2240
namespace detail {
2241
struct totally_ordered_with_concept {
2242
    template <typename, typename>
2243
    static auto test(long) -> std::false_type;
2244
2245
    template <typename T, typename U>
2246
    static auto test(int)
2247
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2248
                                equality_comparable_with<T, U> &&
2249
#if 0
2250
                                totally_ordered<common_reference_t<
2251
                                    const std::remove_reference_t<T>&,
2252
                                    const std::remove_reference_t<U>&>> &&
2253
#endif
2254
                                partially_ordered_with<T, U>,
2255
                            std::true_type>;
2256
};
2257
}  // namespace detail
2258
2259
template <typename T, typename U>
2260
inline constexpr bool totally_ordered_with =
2261
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2262
2263
namespace detail {
2264
struct movable_concept {
2265
    template <typename T>
2266
    static auto test(long) -> std::false_type;
2267
2268
    template <typename T>
2269
    static auto test(int) -> std::enable_if_t<
2270
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2271
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2272
        std::true_type>;
2273
};
2274
}  // namespace detail
2275
2276
template <typename T>
2277
inline constexpr bool movable =
2278
    decltype(detail::movable_concept::test<T>(0))::value;
2279
2280
namespace detail {
2281
struct copyable_concept {
2282
    template <typename>
2283
    static auto test(long) -> std::false_type;
2284
2285
    template <typename T>
2286
    static auto test(int)
2287
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2288
                                std::is_copy_assignable_v<T>,
2289
                            std::true_type>;
2290
};
2291
}  // namespace detail
2292
2293
template <typename T>
2294
inline constexpr bool copyable =
2295
    decltype(detail::copyable_concept::test<T>(0))::value;
2296
2297
template <typename T>
2298
inline constexpr bool semiregular =
2299
    copyable<T> && std::is_default_constructible_v<T>;
2300
2301
template <typename T>
2302
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2303
2304
template <typename>
2305
struct incrementable_traits;
2306
2307
namespace detail {
2308
struct empty {};
2309
2310
template <typename T>
2311
struct with_difference_type {
2312
    using difference_type = T;
2313
};
2314
2315
template <typename, typename = void>
2316
struct incrementable_traits_helper {};
2317
2318
// Workaround for GCC silliness: void* has no difference_type
2319
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2320
// error Can we formulate the concept differently to avoid the need for this
2321
// hack?
2322
template <>
2323
struct incrementable_traits_helper<void*> {};
2324
2325
template <typename T>
2326
struct incrementable_traits_helper<T*>
2327
    : detail::conditional_t<std::is_object_v<T>,
2328
                            with_difference_type<std::ptrdiff_t>,
2329
                            empty> {};
2330
2331
template <class I>
2332
struct incrementable_traits_helper<const I>
2333
    : incrementable_traits<std::decay_t<I>> {};
2334
2335
template <typename, typename = void>
2336
struct has_member_difference_type : std::false_type {};
2337
2338
template <typename T>
2339
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2340
    : std::true_type {};
2341
2342
template <typename T>
2343
constexpr bool has_member_difference_type_v =
2344
    has_member_difference_type<T>::value;
2345
2346
template <typename T>
2347
struct incrementable_traits_helper<
2348
    T,
2349
    std::enable_if_t<has_member_difference_type_v<T>>> {
2350
    using difference_type = typename T::difference_type;
2351
};
2352
2353
template <typename T, typename = void>
2354
struct subtraction_result_type {
2355
    using type = void;
2356
};
2357
template <typename T>
2358
struct subtraction_result_type<
2359
    T,
2360
    std::void_t<decltype(std::declval<const T&>() -
2361
                         std::declval<const T&>())>> {
2362
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2363
};
2364
2365
template <typename T>
2366
inline constexpr bool enable_incrtraits_subtractable =
2367
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2368
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2369
2370
template <typename T>
2371
struct incrementable_traits_helper<
2372
    T,
2373
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2374
    : with_difference_type<
2375
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2376
}  // namespace detail
2377
2378
template <typename T>
2379
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2380
2381
template <typename T>
2382
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2383
2384
template <typename>
2385
struct readable_traits;
2386
2387
namespace detail {
2388
template <typename T>
2389
struct with_value_type {
2390
    using value_type = T;
2391
};
2392
2393
template <typename, typename = void>
2394
struct readable_traits_helper {};
2395
2396
template <typename T>
2397
struct readable_traits_helper<T*>
2398
    : detail::conditional_t<std::is_object_v<T>,
2399
                            with_value_type<std::remove_cv_t<T>>,
2400
                            empty> {};
2401
2402
template <typename I>
2403
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2404
    : readable_traits<std::decay_t<I>> {};
2405
2406
template <typename I>
2407
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2408
    : readable_traits<std::decay_t<I>> {};
2409
2410
template <typename T, typename V = typename T::value_type>
2411
struct member_value_type
2412
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2413
2414
template <typename T, typename E = typename T::element_type>
2415
struct member_element_type
2416
    : detail::conditional_t<std::is_object_v<E>,
2417
                            with_value_type<std::remove_cv_t<E>>,
2418
                            empty> {};
2419
2420
template <typename T>
2421
using member_value_type_t = typename T::value_type;
2422
2423
template <typename T>
2424
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2425
2426
template <typename T>
2427
using member_element_type_t = typename T::element_type;
2428
2429
template <typename T>
2430
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2431
2432
template <typename T>
2433
struct readable_traits_helper<T,
2434
                              std::enable_if_t<has_member_value_type_v<T> &&
2435
                                               !has_member_element_type_v<T>>>
2436
    : member_value_type<T> {};
2437
2438
template <typename T>
2439
struct readable_traits_helper<T,
2440
                              std::enable_if_t<has_member_element_type_v<T> &&
2441
                                               !has_member_value_type_v<T>>>
2442
    : member_element_type<T> {};
2443
2444
// A type which has both value_type and element_type members must specialise
2445
// readable_traits to tell us which one to prefer -- see
2446
// https://github.com/ericniebler/stl2/issues/562
2447
template <typename T>
2448
struct readable_traits_helper<T,
2449
                              std::enable_if_t<has_member_element_type_v<T> &&
2450
                                               has_member_value_type_v<T>>> {};
2451
}  // namespace detail
2452
2453
template <typename T>
2454
struct readable_traits : detail::readable_traits_helper<T> {};
2455
2456
template <typename T>
2457
using iter_value_t = typename readable_traits<T>::value_type;
2458
2459
namespace detail {
2460
template <typename T>
2461
using with_reference = T&;
2462
2463
struct can_reference_concept {
2464
    template <typename T>
2465
    auto requires_() -> with_reference<T>;
2466
};
2467
2468
template <typename T>
2469
inline constexpr bool can_reference =
2470
    detail::requires_<can_reference_concept, T>;
2471
2472
struct dereferencable_concept {
2473
    template <typename T>
2474
    auto requires_(T& t)
2475
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2476
};
2477
2478
template <typename T>
2479
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2480
2481
// GCC and Clang allow dereferencing void* as an extension.
2482
// Let's kill that off now.
2483
2484
template <>
2485
inline constexpr bool dereferenceable<void*> = false;
2486
}  // namespace detail
2487
2488
using std::bidirectional_iterator_tag;
2489
using std::forward_iterator_tag;
2490
using std::input_iterator_tag;
2491
using std::output_iterator_tag;
2492
using std::random_access_iterator_tag;
2493
2494
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2495
    __cpp_lib_ranges >= 201911L
2496
using std::contiguous_iterator_tag;
2497
#else
2498
struct contiguous_iterator_tag : random_access_iterator_tag {};
2499
#endif
2500
2501
template <typename T>
2502
struct iterator_category;
2503
2504
namespace detail {
2505
template <typename T, typename = void>
2506
struct iterator_category_ {};
2507
template <typename T>
2508
struct iterator_category_<T*>
2509
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2510
template <typename T>
2511
struct iterator_category_<const T> : iterator_category<T> {};
2512
template <typename T>
2513
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2514
    using type = typename T::iterator_category;
2515
};
2516
}  // namespace detail
2517
2518
template <typename T>
2519
struct iterator_category : detail::iterator_category_<T> {};
2520
template <typename T>
2521
using iterator_category_t = typename iterator_category<T>::type;
2522
2523
namespace detail {
2524
2525
template <typename T, typename = void>
2526
struct legacy_iterator_category : iterator_category<T> {};
2527
2528
template <typename T>
2529
struct legacy_iterator_category<
2530
    T,
2531
    std::enable_if_t<
2532
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2533
    using type = random_access_iterator_tag;
2534
};
2535
2536
template <typename T>
2537
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2538
2539
}  // namespace detail
2540
2541
template <typename T>
2542
using iter_reference_t =
2543
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2544
2545
namespace detail {
2546
2547
struct readable_concept {
2548
    template <typename In>
2549
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2550
                                 std::declval<iter_reference_t<In>>());
2551
    // std::declval<iter_rvalue_reference_t<In>>());
2552
2553
    template <typename>
2554
    static auto test(long) -> std::false_type;
2555
2556
    template <typename In>
2557
    static auto test(int)
2558
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2559
#if 0
2560
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2561
            common_reference_with<iter_reference_t<In>&&,
2562
                                  iter_rvalue_reference_t<In>&&> &&
2563
            common_reference_with<iter_rvalue_reference_t<In>&&,
2564
                                  const iter_value_t<In>&>,
2565
#endif
2566
                            std::true_type>;
2567
};
2568
2569
}  // namespace detail
2570
2571
template <typename In>
2572
inline constexpr bool readable =
2573
    decltype(detail::readable_concept::test<In>(0))::value;
2574
2575
namespace detail {
2576
2577
struct writable_concept {
2578
    template <typename Out, typename T>
2579
    auto requires_(Out&& o, T&& t)
2580
        -> decltype(*o = std::forward<T>(t),
2581
                    *std::forward<Out>(o) = std::forward<T>(t),
2582
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2583
                        std::forward<T>(t),
2584
                    const_cast<const iter_reference_t<Out>&&>(
2585
                        *std::forward<Out>(o)) = std::forward<T>(t));
2586
};
2587
2588
}  // namespace detail
2589
2590
template <typename Out, typename T>
2591
inline constexpr bool writable =
2592
    detail::requires_<detail::writable_concept, Out, T>;
2593
2594
namespace detail {
2595
2596
template <typename T>
2597
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2598
2599
template <typename T>
2600
inline constexpr bool is_signed_integer_like =
2601
    std::is_integral_v<T> && std::is_signed_v<T>;
2602
2603
struct weakly_incrementable_concept {
2604
    template <typename I>
2605
    auto requires_(I i)
2606
        -> decltype(std::declval<iter_difference_t<I>>(),
2607
                    requires_expr<
2608
                        is_signed_integer_like<iter_difference_t<I>>>{},
2609
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2610
                    i++);
2611
};
2612
2613
}  // namespace detail
2614
2615
template <typename I>
2616
inline constexpr bool weakly_incrementable =
2617
    std::is_default_constructible_v<I> && movable<I> &&
2618
    detail::requires_<detail::weakly_incrementable_concept, I>;
2619
2620
namespace detail {
2621
2622
struct incrementable_concept {
2623
    template <typename I>
2624
    auto requires_(I i)
2625
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2626
};
2627
2628
}  // namespace detail
2629
2630
template <typename I>
2631
inline constexpr bool incrementable =
2632
    regular<I> && weakly_incrementable<I> &&
2633
    detail::requires_<detail::incrementable_concept, I>;
2634
2635
namespace detail {
2636
2637
struct input_or_output_iterator_concept {
2638
    template <typename I>
2639
    auto requires_(I i)
2640
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2641
};
2642
2643
}  // namespace detail
2644
2645
template <typename I>
2646
inline constexpr bool input_or_output_iterator =
2647
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2648
    weakly_incrementable<I>;
2649
2650
template <typename S, typename I>
2651
inline constexpr bool sentinel_for =
2652
    semiregular<S> && input_or_output_iterator<I> &&
2653
    detail::weakly_equality_comparable_with<S, I>;
2654
2655
template <typename S, typename I>
2656
inline constexpr bool disable_sized_sentinel = false;
2657
2658
namespace detail {
2659
2660
struct sized_sentinel_for_concept {
2661
    template <typename S, typename I>
2662
    auto requires_(const S& s, const I& i)
2663
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2664
                                                 iter_difference_t<I>>>{},
2665
                    requires_expr<std::is_same_v<decltype(i - s),
2666
                                                 iter_difference_t<I>>>{});
2667
};
2668
2669
}  // namespace detail
2670
2671
template <typename S, typename I>
2672
inline constexpr bool sized_sentinel_for =
2673
    sentinel_for<S, I> &&
2674
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2675
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2676
2677
// This is a hack, but I'm fed up with my tests breaking because GCC
2678
// has a silly extension
2679
template <typename S>
2680
inline constexpr bool sized_sentinel_for<S, void*> = false;
2681
2682
template <typename I>
2683
inline constexpr bool sized_sentinel_for<void*, I> = false;
2684
2685
template <>
2686
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2687
2688
namespace detail {
2689
2690
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2691
struct input_iterator_concept {
2692
    template <typename I>
2693
    auto requires_() -> iterator_category_t<I>;
2694
2695
    template <typename>
2696
    static auto test(long) -> std::false_type;
2697
2698
    template <typename I>
2699
    static auto test(int) -> std::enable_if_t<
2700
        input_or_output_iterator<I> && readable<I> &&
2701
            detail::requires_<input_iterator_concept, I> &&
2702
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2703
        std::true_type>;
2704
};
2705
2706
}  // namespace detail
2707
2708
template <typename I>
2709
inline constexpr bool input_iterator =
2710
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2711
2712
namespace detail {
2713
2714
struct output_iterator_concept {
2715
    template <typename I, typename T>
2716
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2717
};
2718
2719
}  // namespace detail
2720
2721
template <typename I, typename T>
2722
inline constexpr bool output_iterator =
2723
    input_or_output_iterator<I> && writable<I, T> &&
2724
    detail::requires_<detail::output_iterator_concept, I, T>;
2725
2726
namespace detail {
2727
2728
struct forward_iterator_concept {
2729
    template <typename>
2730
    static auto test(long) -> std::false_type;
2731
2732
    template <typename I>
2733
    static auto test(int) -> std::enable_if_t<
2734
        input_iterator<I> &&
2735
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2736
            incrementable<I> && sentinel_for<I, I>,
2737
        std::true_type>;
2738
};
2739
2740
}  // namespace detail
2741
2742
template <typename I>
2743
inline constexpr bool forward_iterator =
2744
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2745
2746
namespace detail {
2747
2748
struct bidirectional_iterator_concept {
2749
    template <typename I>
2750
    auto requires_(I i)
2751
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2752
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2753
2754
    template <typename>
2755
    static auto test(long) -> std::false_type;
2756
2757
    template <typename I>
2758
    static auto test(int) -> std::enable_if_t<
2759
        forward_iterator<I> &&
2760
            std::is_base_of_v<bidirectional_iterator_tag,
2761
                              iterator_category_t<I>> &&
2762
            detail::requires_<bidirectional_iterator_concept, I>,
2763
        std::true_type>;
2764
};
2765
2766
}  // namespace detail
2767
2768
template <typename I>
2769
inline constexpr bool bidirectional_iterator =
2770
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2771
2772
namespace detail {
2773
2774
struct random_access_iterator_concept {
2775
    template <typename>
2776
    static auto test(long) -> std::false_type;
2777
2778
    template <typename I>
2779
    static auto test(int) -> std::enable_if_t<
2780
        bidirectional_iterator<I> &&
2781
            std::is_base_of_v<random_access_iterator_tag,
2782
                              iterator_category_t<I>> &&
2783
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2784
            detail::requires_<random_access_iterator_concept, I>,
2785
        std::true_type>;
2786
2787
    template <typename I>
2788
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2789
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2790
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2791
#ifndef _MSC_VER
2792
                    requires_expr<std::is_same_v<decltype(n + j),
2793
                                                 I>>{},  // FIXME: MSVC doesn't
2794
                                                         // like this when I =
2795
                                                         // int*
2796
#endif
2797
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2798
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2799
                    requires_expr<
2800
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2801
};
2802
2803
}  // namespace detail
2804
2805
template <typename I>
2806
inline constexpr bool random_access_iterator =
2807
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2808
2809
namespace detail {
2810
2811
struct contiguous_iterator_concept {
2812
    template <typename>
2813
    static auto test(long) -> std::false_type;
2814
2815
    template <typename I>
2816
    static auto test(int) -> std::enable_if_t<
2817
        random_access_iterator<I> &&
2818
            /*std::is_base_of_v<contiguous_iterator_tag,
2819
                              iterator_category_t<I>> &&*/
2820
            detail::can_make_address_from_iterator<I> &&
2821
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2822
            std::is_same_v<iter_value_t<I>,
2823
                           remove_cvref_t<iter_reference_t<I>>>,
2824
        std::true_type>;
2825
};
2826
2827
}  // namespace detail
2828
2829
template <typename I>
2830
inline constexpr bool contiguous_iterator =
2831
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2832
2833
namespace detail::begin_ {
2834
2835
template <typename T>
2836
void begin(T&) = delete;
2837
template <typename T>
2838
void begin(const T&) = delete;
2839
2840
struct fn {
2841
private:
2842
    template <typename T,
2843
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2844
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2845
                  nullptr>
2846
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2847
2848
    template <typename T,
2849
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2850
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2851
        -> decltype(t + 0)
2852
    {
2853
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2854
        return t + 0;
2855
    }
2856
2857
    template <typename T>
2858
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2859
        noexcept(decay_copy(SCN_FWD(t).begin())))
2860
        -> std::enable_if_t<
2861
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2862
            decltype(decay_copy(SCN_FWD(t).begin()))>
2863
431k
    {
2864
431k
        return decay_copy(t.begin());
2865
431k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
2.68k
    {
2864
2.68k
        return decay_copy(t.begin());
2865
2.68k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
2.15k
    {
2864
2.15k
        return decay_copy(t.begin());
2865
2.15k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
2.44k
    {
2864
2.44k
        return decay_copy(t.begin());
2865
2.44k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
161k
    {
2864
161k
        return decay_copy(t.begin());
2865
161k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
386
    {
2864
386
        return decay_copy(t.begin());
2865
386
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
968
    {
2864
968
        return decay_copy(t.begin());
2865
968
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
261k
    {
2864
261k
        return decay_copy(t.begin());
2865
261k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
226
    {
2864
226
        return decay_copy(t.begin());
2865
226
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2866
2867
    template <typename T>
2868
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2869
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2870
        -> std::enable_if_t<
2871
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2872
            decltype(decay_copy(begin(SCN_FWD(t))))>
2873
    {
2874
        return decay_copy(begin(SCN_FWD(t)));
2875
    }
2876
2877
public:
2878
    template <typename T>
2879
    constexpr auto operator()(T&& t) const
2880
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2881
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2882
431k
    {
2883
431k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
431k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
2.68k
    {
2883
2.68k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
2.68k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
2.15k
    {
2883
2.15k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
2.15k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
2.44k
    {
2883
2.44k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
2.44k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
161k
    {
2883
161k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
161k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
386
    {
2883
386
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
386
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
968
    {
2883
968
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
968
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
261k
    {
2883
261k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
261k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
226
    {
2883
226
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
226
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2885
};
2886
2887
}  // namespace detail::begin_
2888
2889
inline constexpr auto begin = detail::begin_::fn{};
2890
2891
namespace detail::end_ {
2892
2893
template <typename T>
2894
void end(T&) = delete;
2895
template <typename T>
2896
void end(const T&) = delete;
2897
2898
struct fn {
2899
private:
2900
    template <typename T,
2901
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2902
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2903
                  nullptr>
2904
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2905
2906
    template <typename T,
2907
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2908
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2909
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2910
    {
2911
        return t + std::extent_v<remove_cvref_t<T>>;
2912
    }
2913
2914
    template <typename T,
2915
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2916
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2917
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2918
        noexcept(decay_copy(SCN_FWD(t).end())))
2919
        -> std::enable_if_t<sentinel_for<S, I>,
2920
                            decltype(decay_copy(SCN_FWD(t).end()))>
2921
8.24k
    {
2922
8.24k
        return decay_copy(SCN_FWD(t).end());
2923
8.24k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
2.68k
    {
2922
2.68k
        return decay_copy(SCN_FWD(t).end());
2923
2.68k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
2.15k
    {
2922
2.15k
        return decay_copy(SCN_FWD(t).end());
2923
2.15k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
2.44k
    {
2922
2.44k
        return decay_copy(SCN_FWD(t).end());
2923
2.44k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
968
    {
2922
968
        return decay_copy(SCN_FWD(t).end());
2923
968
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2924
2925
    template <typename T,
2926
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2927
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2928
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2929
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2930
    {
2931
        return decay_copy(end(SCN_FWD(t)));
2932
    }
2933
2934
public:
2935
    template <typename T>
2936
    constexpr auto operator()(T&& t) const
2937
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2938
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2939
8.24k
    {
2940
8.24k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
8.24k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
2.68k
    {
2940
2.68k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
2.68k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
2.15k
    {
2940
2.15k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
2.15k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
2.44k
    {
2940
2.44k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
2.44k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
968
    {
2940
968
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
968
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2942
};
2943
2944
}  // namespace detail::end_
2945
2946
inline constexpr auto end = detail::end_::fn{};
2947
2948
namespace detail {
2949
struct range_concept {
2950
    template <typename T>
2951
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2952
};
2953
}  // namespace detail
2954
2955
template <typename T>
2956
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2957
2958
template <typename T>
2959
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2960
2961
template <typename R>
2962
using sentinel_t =
2963
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2964
2965
template <typename R>
2966
using range_difference_t =
2967
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2968
2969
template <typename R>
2970
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2971
2972
template <typename R>
2973
using range_reference_t =
2974
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2975
2976
namespace detail {
2977
template <typename, typename = void>
2978
inline constexpr bool is_object_pointer_v = false;
2979
template <typename P>
2980
inline constexpr bool
2981
    is_object_pointer_v<P,
2982
                        std::enable_if_t<std::is_pointer_v<P> &&
2983
                                         std::is_object_v<iter_value_t<P>>>> =
2984
        true;
2985
2986
namespace data_ {
2987
2988
struct fn {
2989
private:
2990
    template <typename T,
2991
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2992
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2993
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2994
426k
    {
2995
426k
        return t.data();
2996
426k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
8.36k
    {
2995
8.36k
        return t.data();
2996
8.36k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
157k
    {
2995
157k
        return t.data();
2996
157k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
261k
    {
2995
261k
        return t.data();
2996
261k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
2997
2998
    template <typename T>
2999
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3000
        noexcept(scn::ranges::begin(SCN_FWD(t))))
3001
        -> std::enable_if_t<
3002
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
3003
            decltype(scn::ranges::begin(SCN_FWD(t)))>
3004
0
    {
3005
0
        return scn::ranges::begin(SCN_FWD(t));
3006
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
3007
3008
public:
3009
    template <typename T>
3010
    constexpr auto operator()(T&& t) const
3011
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
3012
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
3013
426k
    {
3014
426k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
426k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
8.36k
    {
3014
8.36k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
8.36k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
157k
    {
3014
157k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
157k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
261k
    {
3014
261k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
261k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
3016
};
3017
3018
}  // namespace data_
3019
}  // namespace detail
3020
3021
inline constexpr auto data = detail::data_::fn{};
3022
3023
template <typename T>
3024
inline constexpr bool disable_sized_range = false;
3025
3026
namespace detail::size_ {
3027
3028
template <typename T>
3029
void size(T&&) = delete;
3030
template <typename T>
3031
void size(T&) = delete;
3032
3033
struct fn {
3034
private:
3035
    template <typename T, std::size_t N>
3036
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3037
    {
3038
        return N;
3039
    }
3040
3041
    template <typename T, std::size_t N>
3042
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3043
    {
3044
        return N;
3045
    }
3046
3047
    template <typename T,
3048
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3049
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3050
        noexcept(decay_copy(SCN_FWD(t).size())))
3051
        -> std::enable_if_t<std::is_integral_v<I> &&
3052
                                !disable_sized_range<remove_cvref_t<T>>,
3053
                            I>
3054
187k
    {
3055
187k
        return decay_copy(SCN_FWD(t).size());
3056
187k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
106
    {
3055
106
        return decay_copy(SCN_FWD(t).size());
3056
106
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
118
    {
3055
118
        return decay_copy(SCN_FWD(t).size());
3056
118
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
16
    {
3055
16
        return decay_copy(SCN_FWD(t).size());
3056
16
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
62.2k
    {
3055
62.2k
        return decay_copy(SCN_FWD(t).size());
3056
62.2k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
124k
    {
3055
124k
        return decay_copy(SCN_FWD(t).size());
3056
124k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
3057
3058
    template <typename T,
3059
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3060
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3061
        noexcept(decay_copy(size(SCN_FWD(t)))))
3062
        -> std::enable_if_t<std::is_integral_v<I> &&
3063
                                !disable_sized_range<remove_cvref_t<T>>,
3064
                            I>
3065
    {
3066
        return decay_copy(size(SCN_FWD(t)));
3067
    }
3068
3069
    template <typename T,
3070
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3071
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3072
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3073
                                                             SCN_DECLVAL(I)))>
3074
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3075
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3076
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3077
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3078
                            D>
3079
    {
3080
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3081
    }
3082
3083
public:
3084
    template <typename T>
3085
    constexpr auto operator()(T&& t) const
3086
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3087
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3088
187k
    {
3089
187k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
187k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
3088
106
    {
3089
106
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
106
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3088
118
    {
3089
118
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
118
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
3088
16
    {
3089
16
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
16
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
62.2k
    {
3089
62.2k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
62.2k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
124k
    {
3089
124k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
124k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
3091
};
3092
3093
}  // namespace detail::size_
3094
3095
inline constexpr auto size = detail::size_::fn{};
3096
3097
namespace detail {
3098
namespace ssize_ {
3099
struct fn {
3100
private:
3101
    template <typename T>
3102
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3103
                                                  sizeof(std::ptrdiff_t),
3104
                                              std::ptrdiff_t,
3105
                                              range_difference_t<T>>;
3106
3107
    template <typename T>
3108
    static constexpr auto impl(T&& t) noexcept(
3109
        noexcept(ranges::size(std::forward<T>(t))))
3110
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3111
240
    {
3112
240
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
240
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
3111
106
    {
3112
106
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
106
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
3111
118
    {
3112
118
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
118
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
3111
16
    {
3112
16
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
16
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3114
3115
public:
3116
    template <typename T>
3117
    constexpr auto operator()(T&& t) const
3118
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3119
            -> decltype(fn::impl(std::forward<T>(t)))
3120
240
    {
3121
240
        return fn::impl(std::forward<T>(t));
3122
240
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
3120
106
    {
3121
106
        return fn::impl(std::forward<T>(t));
3122
106
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
3120
118
    {
3121
118
        return fn::impl(std::forward<T>(t));
3122
118
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
3120
16
    {
3121
16
        return fn::impl(std::forward<T>(t));
3122
16
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3123
};
3124
}  // namespace ssize_
3125
}  // namespace detail
3126
3127
inline constexpr auto ssize = detail::ssize_::fn{};
3128
3129
namespace detail::empty_ {
3130
struct fn {
3131
private:
3132
    template <typename T>
3133
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3134
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3135
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3136
    {
3137
        return static_cast<bool>(SCN_FWD(t).empty());
3138
    }
3139
3140
    template <typename T>
3141
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3142
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3143
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3144
    {
3145
        return ranges::size(SCN_FWD(t)) == 0;
3146
    }
3147
3148
    template <typename T,
3149
              typename I = decltype(ranges::begin(std::declval<T>()))>
3150
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3151
        noexcept(ranges::begin(t) == ranges::end(t)))
3152
        -> std::enable_if_t<forward_iterator<I>,
3153
                            decltype(ranges::begin(t) == ranges::end(t))>
3154
    {
3155
        return ranges::begin(t) == ranges::end(t);
3156
    }
3157
3158
public:
3159
    template <typename T>
3160
    constexpr auto operator()(T&& t) const
3161
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3162
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3163
    {
3164
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3165
    }
3166
};
3167
}  // namespace detail::empty_
3168
3169
inline constexpr auto empty = detail::empty_::fn{};
3170
3171
/**
3172
 * \see `std::ranges::borrowed_range`
3173
 */
3174
template <typename T>
3175
inline constexpr bool borrowed_range =
3176
    range<T> && (std::is_lvalue_reference_v<T> ||
3177
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3178
3179
namespace detail {
3180
struct sized_range_concept {
3181
    template <typename T>
3182
    auto requires_(T& t) -> decltype(ranges::size(t));
3183
};
3184
}  // namespace detail
3185
3186
template <typename T>
3187
inline constexpr bool sized_range =
3188
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3189
    detail::requires_<detail::sized_range_concept, T>;
3190
3191
namespace detail {
3192
struct output_range_concept {
3193
    template <typename, typename>
3194
    static auto test(long) -> std::false_type;
3195
3196
    template <typename R, typename T>
3197
    static auto test(int)
3198
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3199
                            std::true_type>;
3200
};
3201
}  // namespace detail
3202
3203
template <typename R, typename T>
3204
inline constexpr bool output_range =
3205
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3206
3207
namespace detail {
3208
struct input_range_concept {
3209
    template <typename>
3210
    static auto test(long) -> std::false_type;
3211
3212
    template <typename T>
3213
    static auto test(int)
3214
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3215
                            std::true_type>;
3216
};
3217
}  // namespace detail
3218
3219
template <typename T>
3220
inline constexpr bool input_range =
3221
    decltype(detail::input_range_concept::test<T>(0))::value;
3222
3223
namespace detail {
3224
struct forward_range_concept {
3225
    template <typename>
3226
    static auto test(long) -> std::false_type;
3227
3228
    template <typename T>
3229
    static auto test(int)
3230
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3231
                            std::true_type>;
3232
};
3233
}  // namespace detail
3234
3235
template <typename T>
3236
inline constexpr bool forward_range =
3237
    decltype(detail::forward_range_concept::test<T>(0))::value;
3238
3239
namespace detail {
3240
struct bidirectional_range_concept {
3241
    template <typename>
3242
    static auto test(long) -> std::false_type;
3243
3244
    template <typename T>
3245
    static auto test(int)
3246
        -> std::enable_if_t<forward_range<T> &&
3247
                                bidirectional_iterator<iterator_t<T>>,
3248
                            std::true_type>;
3249
};
3250
}  // namespace detail
3251
3252
template <typename T>
3253
inline constexpr bool bidirectional_range =
3254
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3255
3256
namespace detail {
3257
struct random_access_range_concept {
3258
    template <typename>
3259
    static auto test(long) -> std::false_type;
3260
3261
    template <typename T>
3262
    static auto test(int)
3263
        -> std::enable_if_t<bidirectional_range<T> &&
3264
                                random_access_iterator<iterator_t<T>>,
3265
                            std::true_type>;
3266
};
3267
}  // namespace detail
3268
3269
template <typename T>
3270
inline constexpr bool random_access_range =
3271
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3272
3273
namespace detail {
3274
// FIXME: Not to spec
3275
// We only require random_access_iterator, not contiguous_iterator
3276
// This is so that vector::iterator, string::iterator etc can model
3277
// contiguous_range.
3278
// If we do range-v3-style deep integration with iterator_traits then
3279
// this could be fixed
3280
struct contiguous_range_concept {
3281
    template <typename>
3282
    static auto test(long) -> std::false_type;
3283
3284
    template <typename T>
3285
    static auto test(int) -> std::enable_if_t<
3286
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3287
                                   * &&
3288
                                   */
3289
            detail::requires_<contiguous_range_concept, T>,
3290
        std::true_type>;
3291
3292
    template <typename T>
3293
    auto requires_(T& t)
3294
        -> decltype(requires_expr<std::is_same_v<
3295
                        decltype(ranges::data(t)),
3296
                        std::add_pointer_t<range_reference_t<T>>>>{});
3297
};
3298
}  // namespace detail
3299
3300
template <typename R>
3301
inline constexpr bool contiguous_range =
3302
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3303
3304
namespace detail {
3305
struct common_range_concept {
3306
    template <typename>
3307
    static auto test(long) -> std::false_type;
3308
3309
    template <typename T>
3310
    static auto test(int)
3311
        -> std::enable_if_t<range<T> &&
3312
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3313
                            std::true_type>;
3314
};
3315
}  // namespace detail
3316
3317
template <typename T>
3318
inline constexpr bool common_range =
3319
    decltype(detail::common_range_concept::test<T>(0))::value;
3320
3321
/**
3322
 * \see `std::ranges::dangling`
3323
 */
3324
struct dangling {
3325
    constexpr dangling() noexcept = default;
3326
3327
    template <typename... Args>
3328
    constexpr dangling(Args&&...) noexcept
3329
    {
3330
    }
3331
};
3332
3333
/**
3334
 * \see `std::ranges::borrowed_iterator_t`
3335
 */
3336
template <typename R>
3337
using borrowed_iterator_t =
3338
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3339
3340
template <typename D>
3341
class view_interface {
3342
    static_assert(std::is_class<D>::value, "");
3343
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3344
3345
private:
3346
    constexpr D& derived() noexcept
3347
422k
    {
3348
422k
        return static_cast<D&>(*this);
3349
422k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3347
161k
    {
3348
161k
        return static_cast<D&>(*this);
3349
161k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3347
261k
    {
3348
261k
        return static_cast<D&>(*this);
3349
261k
    }
3350
3351
    constexpr const D& derived() const noexcept
3352
0
    {
3353
0
        return static_cast<const D&>(*this);
3354
0
    }
Unexecuted instantiation: scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Unexecuted instantiation: scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
3355
3356
public:
3357
    template <typename R = D>
3358
    [[nodiscard]] constexpr auto empty()
3359
        -> std::enable_if_t<forward_range<R>, bool>
3360
    {
3361
        return ranges::begin(derived()) == ranges::end(derived());
3362
    }
3363
3364
    template <typename R = D>
3365
    [[nodiscard]] constexpr auto empty() const
3366
        -> std::enable_if_t<forward_range<const R>, bool>
3367
    {
3368
        return ranges::begin(derived()) == ranges::end(derived());
3369
    }
3370
3371
    template <typename R = D,
3372
              typename = decltype(ranges::empty(std::declval<R&>()))>
3373
    constexpr explicit operator bool()
3374
    {
3375
        return !ranges::empty(derived());
3376
    }
3377
3378
    template <typename R = D,
3379
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3380
    constexpr explicit operator bool() const
3381
    {
3382
        return !ranges::empty(derived());
3383
    }
3384
3385
    template <typename R = D,
3386
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3387
    constexpr auto data()
3388
422k
    {
3389
422k
        return detail::to_address(ranges::begin(derived()));
3390
422k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3388
161k
    {
3389
161k
        return detail::to_address(ranges::begin(derived()));
3390
161k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3388
261k
    {
3389
261k
        return detail::to_address(ranges::begin(derived()));
3390
261k
    }
3391
3392
    template <typename R = D,
3393
              typename = std::enable_if_t<
3394
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3395
    constexpr auto data() const
3396
0
    {
3397
0
        return detail::to_address(ranges::begin(derived()));
3398
0
    }
Unexecuted instantiation: auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Unexecuted instantiation: auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
3399
3400
    template <typename R = D,
3401
              typename = std::enable_if_t<
3402
                  forward_range<R> &&
3403
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3404
    constexpr auto size()
3405
    {
3406
        return ranges::end(derived()) - ranges::begin(derived());
3407
    }
3408
3409
    template <typename R = D,
3410
              typename = std::enable_if_t<
3411
                  forward_range<const R> &&
3412
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3413
    constexpr auto size() const
3414
    {
3415
        return ranges::end(derived()) - ranges::begin(derived());
3416
    }
3417
3418
#if 0
3419
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3420
    constexpr decltype(auto) front()
3421
    {
3422
        return *ranges::begin(derived());
3423
    }
3424
3425
    template <typename R = D,
3426
              typename = std::enable_if_t<forward_range<const R>>>
3427
    constexpr decltype(auto) front() const
3428
    {
3429
        return *ranges::begin(derived());
3430
    }
3431
3432
    template <
3433
        typename R = D,
3434
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3435
    constexpr decltype(auto) back()
3436
    {
3437
        return *ranges::prev(ranges::end(derived()));
3438
    }
3439
3440
    template <typename R = D,
3441
              typename = std::enable_if_t<bidirectional_range<const R> &&
3442
                                          common_range<const R>>>
3443
    constexpr decltype(auto) back() const
3444
    {
3445
        return *ranges::prev(ranges::end(derived()));
3446
    }
3447
3448
    template <typename R = D,
3449
              typename = std::enable_if_t<random_access_range<R>>>
3450
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3451
    {
3452
        return ranges::begin(derived())[n];
3453
    }
3454
#endif
3455
3456
    template <typename R = D,
3457
              typename = std::enable_if_t<random_access_range<const R>>>
3458
    constexpr decltype(auto) operator[](
3459
        iter_difference_t<iterator_t<const R>> n) const
3460
    {
3461
        return ranges::begin(derived())[n];
3462
    }
3463
};
3464
3465
namespace detail::subrange_ {
3466
3467
template <typename I, typename S = I>
3468
class subrange : public view_interface<subrange<I, S>> {
3469
    static_assert(input_or_output_iterator<I>);
3470
    static_assert(sentinel_for<S, I>);
3471
3472
public:
3473
186k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3473
62.2k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3473
124k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3474
3475
    template <typename I_,
3476
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3477
    constexpr subrange(I_ i, S s)
3478
1.37M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
1.37M
    {
3480
1.37M
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3478
2.44k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
2.44k
    {
3480
2.44k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3478
54.9k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
54.9k
    {
3480
54.9k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3478
968
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
968
    {
3480
968
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3478
19.2k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
19.2k
    {
3480
19.2k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3478
7.76k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
7.76k
    {
3480
7.76k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3478
3.84k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
3.84k
    {
3480
3.84k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3478
874k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
874k
    {
3480
874k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3478
411k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
411k
    {
3480
411k
    }
3481
3482
    template <
3483
        typename R,
3484
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3485
                         std::is_convertible_v<iterator_t<R>, I> &&
3486
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3487
    constexpr subrange(R&& r)
3488
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3489
    {
3490
    }
3491
3492
    constexpr I begin() const
3493
3.24M
    {
3494
3.24M
        return m_iterator;
3495
3.24M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3493
2.24M
    {
3494
2.24M
        return m_iterator;
3495
2.24M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3493
788k
    {
3494
788k
        return m_iterator;
3495
788k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Line
Count
Source
3493
2.44k
    {
3494
2.44k
        return m_iterator;
3495
2.44k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3493
132k
    {
3494
132k
        return m_iterator;
3495
132k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
3493
968
    {
3494
968
        return m_iterator;
3495
968
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Line
Count
Source
3493
56.1k
    {
3494
56.1k
        return m_iterator;
3495
56.1k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3493
15.6k
    {
3494
15.6k
        return m_iterator;
3495
15.6k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3493
8.20k
    {
3494
8.20k
        return m_iterator;
3495
8.20k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3496
    constexpr S end() const
3497
4.24M
    {
3498
4.24M
        return m_sentinel;
3499
4.24M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3497
2.34M
    {
3498
2.34M
        return m_sentinel;
3499
2.34M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3497
1.72M
    {
3498
1.72M
        return m_sentinel;
3499
1.72M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Line
Count
Source
3497
2.44k
    {
3498
2.44k
        return m_sentinel;
3499
2.44k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3497
116k
    {
3498
116k
        return m_sentinel;
3499
116k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
3497
968
    {
3498
968
        return m_sentinel;
3499
968
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Line
Count
Source
3497
43.4k
    {
3498
43.4k
        return m_sentinel;
3499
43.4k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Line
Count
Source
3497
11.4k
    {
3498
11.4k
        return m_sentinel;
3499
11.4k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Line
Count
Source
3497
3.84k
    {
3498
3.84k
        return m_sentinel;
3499
3.84k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3500
3501
    SCN_NODISCARD constexpr bool empty() const
3502
    {
3503
        return m_iterator == m_sentinel;
3504
    }
3505
3506
    template <typename I_ = I,
3507
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3508
    constexpr std::size_t size() const
3509
280k
    {
3510
280k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
280k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3509
137k
    {
3510
137k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
137k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3509
142k
    {
3510
142k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
142k
    }
3512
3513
private:
3514
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3515
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3516
};
3517
3518
template <typename I,
3519
          typename S,
3520
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3521
              nullptr>
3522
subrange(I, S) -> subrange<I, S>;
3523
3524
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3525
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3526
3527
}  // namespace detail::subrange_
3528
3529
/**
3530
 * \see `std::ranges::subrange`
3531
 */
3532
using detail::subrange_::subrange;
3533
3534
template <typename I, typename S>
3535
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3536
3537
struct default_sentinel_t {};
3538
inline constexpr default_sentinel_t default_sentinel{};
3539
3540
}  // namespace ranges
3541
3542
namespace detail {
3543
3544
namespace char_t_fn {
3545
template <typename T, typename = typename T::value_type>
3546
constexpr auto impl_nonarray(priority_tag<2>)
3547
0
{
3548
0
    return tag_type<typename T::value_type>{};
3549
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3550
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3551
constexpr auto impl_nonarray(priority_tag<1>)
3552
0
{
3553
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3554
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3555
template <typename T>
3556
constexpr auto impl_nonarray(priority_tag<0>)
3557
{
3558
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3559
}
3560
3561
template <typename T,
3562
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3563
constexpr auto impl()
3564
0
{
3565
0
    using T_nocvref = remove_cvref_t<T>;
3566
0
    if constexpr (std::is_array_v<T_nocvref>) {
3567
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3568
0
    }
3569
0
    else {
3570
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3571
0
    }
3572
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3573
3574
template <typename Range>
3575
using result = decltype(impl<Range>());
3576
}  // namespace char_t_fn
3577
3578
template <typename Range>
3579
using char_t = typename char_t_fn::result<Range>::type;
3580
3581
template <typename Range, typename = void>
3582
inline constexpr bool is_file_or_narrow_range_impl = false;
3583
template <>
3584
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3585
template <typename Range>
3586
inline constexpr bool
3587
    is_file_or_narrow_range_impl<Range,
3588
                                 std::enable_if_t<ranges::range<Range>>> =
3589
        std::is_same_v<char_t<Range>, char>;
3590
3591
template <typename Range>
3592
inline constexpr bool is_file_or_narrow_range =
3593
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3594
3595
template <typename Range, typename = void>
3596
inline constexpr bool is_wide_range = false;
3597
template <typename Range>
3598
inline constexpr bool
3599
    is_wide_range<Range,
3600
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3601
        std::is_same_v<char_t<Range>, wchar_t>;
3602
3603
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3604
struct borrowed_tail_subrange {
3605
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3606
};
3607
template <typename R>
3608
struct borrowed_tail_subrange<R, false> {
3609
    using type = ranges::dangling;
3610
};
3611
3612
/// Equivalent to
3613
/// `ranges::subrange<ranges::iterator_t<R>,
3614
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3615
/// `ranges::dangling` otherwise.
3616
///
3617
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3618
/// the range sentinel.
3619
template <typename R>
3620
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3621
3622
}  // namespace detail
3623
3624
namespace ranges {
3625
template <typename CharT, typename Traits>
3626
inline constexpr bool
3627
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3628
}
3629
3630
/////////////////////////////////////////////////////////////////
3631
// Small generic algorithms
3632
/////////////////////////////////////////////////////////////////
3633
3634
namespace detail {
3635
3636
/**
3637
 * Implementation of `std::min_element` without including `<algorithm>`
3638
 */
3639
template <typename It>
3640
constexpr It min_element(It first, It last)
3641
{
3642
    if (first == last) {
3643
        return last;
3644
    }
3645
3646
    It smallest = first;
3647
    ++first;
3648
    for (; first != last; ++first) {
3649
        if (*first < *smallest) {
3650
            smallest = first;
3651
        }
3652
    }
3653
    return smallest;
3654
}
3655
3656
/**
3657
 * Implementation of `std::min` without including `<algorithm>`
3658
 */
3659
template <typename T>
3660
constexpr T min(T a, T b) noexcept
3661
{
3662
    return (b < a) ? b : a;
3663
}
3664
3665
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3666
constexpr Ptr find(Ptr first, Ptr last, T value)
3667
{
3668
    for (; first != last; ++first) {
3669
        if (*first == value) {
3670
            return first;
3671
        }
3672
    }
3673
    return last;
3674
}
3675
3676
template <>
3677
inline const char* find<false, char>(const char* first,
3678
                                     const char* last,
3679
                                     char value)
3680
0
{
3681
0
    auto ptr = static_cast<const char*>(
3682
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3683
0
    return ptr != nullptr ? ptr : last;
3684
0
}
3685
3686
}  // namespace detail
3687
3688
/////////////////////////////////////////////////////////////////
3689
// Errors
3690
/////////////////////////////////////////////////////////////////
3691
3692
/**
3693
 * Error class.
3694
 * Used as a return value for functions without a success value.
3695
 * Doesn't have a success state, and isn't default constructible:
3696
 * use `expected<void, scan_error>` to achieve that.
3697
 *
3698
 * \ingroup result
3699
 */
3700
class SCN_TRIVIAL_ABI scan_error {
3701
public:
3702
    /// Error code
3703
    enum code {
3704
        /// Input ended unexpectedly.
3705
        end_of_input,
3706
3707
        /// Format string was invalid.
3708
        /// Often a compile-time error, if supported and/or enabled.
3709
        invalid_format_string,
3710
3711
        /// Scanned value was invalid for given type,
3712
        /// or a value of the given couldn't be scanned.
3713
        invalid_scanned_value,
3714
3715
        /// Literal character specified in format string not found in source.
3716
        invalid_literal,
3717
3718
        /// Too many fill characters scanned,
3719
        /// field precision (max width) exceeded.
3720
        invalid_fill,
3721
3722
        /// Scanned field width was shorter than
3723
        /// what was specified as the minimum field width.
3724
        length_too_short,
3725
3726
        /// Source range is in an invalid state,
3727
        /// failed to continue reading.
3728
        invalid_source_state,
3729
3730
        /// Value out of range, too large (higher than the maximum value)
3731
        /// i.e. >2^32 for int32
3732
        value_positive_overflow,
3733
3734
        /// Value out of range, too small (lower than the minimum value)
3735
        /// i.e. <2^32 for int32
3736
        value_negative_overflow,
3737
3738
        /// Value out of range, magnitude too small, sign +
3739
        /// (between 0 and the smallest subnormal float)
3740
        value_positive_underflow,
3741
3742
        /// Value out of range, magnitude too small, sign -
3743
        /// (between 0 and the smallest subnormal float)
3744
        value_negative_underflow,
3745
3746
        /// Value of this type can't be parsed,
3747
        /// either from this source or not at all.
3748
        type_not_supported,
3749
3750
        max_error
3751
    };
3752
3753
private:
3754
    using code_t = code;
3755
3756
public:
3757
    /// Constructs an error with `c` and `m`
3758
368k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3759
368k
    {
3760
368k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3761
368k
    }
3762
3763
    constexpr explicit operator code_t() const noexcept
3764
0
    {
3765
0
        return m_code;
3766
0
    }
3767
3768
    /// Get error code
3769
    SCN_NODISCARD constexpr code_t code() const noexcept
3770
3.75k
    {
3771
3.75k
        return m_code;
3772
3.75k
    }
3773
    /// Get error message
3774
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3775
0
    {
3776
0
        return m_msg;
3777
0
    }
3778
3779
    /// Convert to a `std::errc`.
3780
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3781
0
    {
3782
0
        switch (m_code) {
3783
0
            case end_of_input:
3784
0
            case invalid_format_string:
3785
0
            case invalid_scanned_value:
3786
0
            case invalid_literal:
3787
0
            case invalid_fill:
3788
0
            case length_too_short:
3789
0
                return std::errc::invalid_argument;
3790
0
            case invalid_source_state:
3791
0
                return std::errc::io_error;
3792
0
            case value_positive_overflow:
3793
0
            case value_negative_overflow:
3794
0
            case value_positive_underflow:
3795
0
            case value_negative_underflow:
3796
0
                return std::errc::result_out_of_range;
3797
0
            case max_error:
3798
0
            default:
3799
0
                assert(false);
3800
0
                SCN_UNREACHABLE;
3801
0
        }
3802
0
    }
3803
3804
private:
3805
    const char* m_msg;
3806
    code_t m_code;
3807
};
3808
3809
constexpr bool operator==(scan_error a, scan_error b) noexcept
3810
0
{
3811
0
    return a.code() == b.code();
3812
0
}
3813
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3814
0
{
3815
0
    return !(a == b);
3816
0
}
3817
3818
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3819
0
{
3820
0
    return a.code() == b;
3821
0
}
3822
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3823
0
{
3824
0
    return !(a == b);
3825
0
}
3826
3827
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3828
0
{
3829
0
    return a == b.code();
3830
0
}
3831
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3832
0
{
3833
0
    return !(a == b);
3834
0
}
3835
3836
namespace detail {
3837
// Intentionally not constexpr, to give out a compile-time error
3838
SCN_COLD scan_error handle_error(scan_error e);
3839
}  // namespace detail
3840
3841
#if SCN_HAS_EXCEPTIONS
3842
3843
namespace detail {
3844
3845
class scan_format_string_error_base : public std::runtime_error {
3846
public:
3847
    explicit scan_format_string_error_base(const std::string& what_arg)
3848
        : runtime_error(what_arg)
3849
0
    {
3850
0
    }
3851
3852
    explicit scan_format_string_error_base(std::false_type,
3853
                                           const char* what_arg)
3854
        : runtime_error(what_arg)
3855
0
    {
3856
0
    }
3857
3858
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3859
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3860
0
    {
3861
0
    }
3862
3863
    // Doing everything in a `detail::` base class
3864
    // to make this a `friend` inside that namespace
3865
    // (essentially private)
3866
    friend const char* get_internal_literal_msg(
3867
        const scan_format_string_error_base& m)
3868
0
    {
3869
0
        return m.m_internal_literal_msg;
3870
0
    }
3871
3872
private:
3873
    const char* m_internal_literal_msg{nullptr};
3874
};
3875
3876
}  // namespace detail
3877
3878
/**
3879
 * An exception type used to report format string parsing errors.
3880
 */
3881
class scan_format_string_error : public detail::scan_format_string_error_base {
3882
public:
3883
    // Not `using` constructors to document them explicitly.
3884
3885
    /**
3886
     * Construct from a `std::string`.
3887
     */
3888
    explicit scan_format_string_error(const std::string& what_arg)
3889
        : scan_format_string_error_base(what_arg)
3890
0
    {
3891
0
    }
3892
3893
    /**
3894
     * Construct from a `const char*`.
3895
     */
3896
    explicit scan_format_string_error(const char* what_arg)
3897
        : scan_format_string_error_base(std::false_type{}, what_arg)
3898
0
    {
3899
0
    }
3900
3901
    /**
3902
     * Construct from a string literal.
3903
     */
3904
    template <std::size_t N>
3905
    explicit scan_format_string_error(const char (&what_arg)[N])
3906
        : scan_format_string_error_base(std::true_type{}, what_arg)
3907
    {
3908
    }
3909
};
3910
#endif
3911
3912
/**
3913
 * An `expected<T, scan_error>`.
3914
 *
3915
 * Not a type alias to shorten template names.
3916
 *
3917
 * \ingroup result
3918
 */
3919
template <typename T>
3920
struct scan_expected : public expected<T, scan_error> {
3921
    using expected<T, scan_error>::expected;
3922
3923
    scan_expected(const expected<T, scan_error>& other)
3924
        : expected<T, scan_error>(other)
3925
    {
3926
    }
3927
    scan_expected(expected<T, scan_error>&& other)
3928
5.12k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
5.12k
    {
3930
5.12k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
Line
Count
Source
3928
1.91k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
1.91k
    {
3930
1.91k
    }
scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
Line
Count
Source
3928
952
        : expected<T, scan_error>(SCN_MOVE(other))
3929
952
    {
3930
952
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
Line
Count
Source
3928
1.16k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
1.16k
    {
3930
1.16k
    }
scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
Line
Count
Source
3928
1.09k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
1.09k
    {
3930
1.09k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
3931
};
3932
3933
namespace detail {
3934
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3935
174k
{
3936
174k
    return unexpected(scan_error{c, m});
3937
174k
}
3938
3939
template <typename T>
3940
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3941
}  // namespace detail
3942
3943
50.1k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3944
50.1k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3945
50.1k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3946
3947
#define SCN_TRY_DISCARD(x)                                      \
3948
68.6k
    if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3949
20.8k
        return ::scn::unexpected(SCN_TRY_TMP.error());          \
3950
20.8k
    }
3951
3952
#define SCN_TRY_ASSIGN(init, x)                        \
3953
128k
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3953
8
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3953
356
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3953
20
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3953
214
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3954
128k
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3955
29.3k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3956
29.3k
    }                                                  \
3957
128k
    init = *SCN_FWD(SCN_TRY_TMP);
3958
113k
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3959
3960
/////////////////////////////////////////////////////////////////
3961
// string_view utilities
3962
/////////////////////////////////////////////////////////////////
3963
3964
namespace detail {
3965
3966
template <typename T>
3967
struct is_string_view : std::false_type {};
3968
template <typename CharT, typename Traits>
3969
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3970
};
3971
3972
// workarounds for MSVC string_view debug iterators
3973
template <typename CharT>
3974
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3975
    typename std::basic_string_view<CharT>::iterator first,
3976
    typename std::basic_string_view<CharT>::iterator last)
3977
1.55M
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
1.55M
    else {
3984
1.55M
        return {to_address(first), static_cast<size_t>(std::distance(
3985
1.55M
                                       to_address(first), to_address(last)))};
3986
1.55M
    }
3987
1.55M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3977
1.48M
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
1.48M
    else {
3984
1.48M
        return {to_address(first), static_cast<size_t>(std::distance(
3985
1.48M
                                       to_address(first), to_address(last)))};
3986
1.48M
    }
3987
1.48M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3977
70.5k
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
70.5k
    else {
3984
70.5k
        return {to_address(first), static_cast<size_t>(std::distance(
3985
70.5k
                                       to_address(first), to_address(last)))};
3986
70.5k
    }
3987
70.5k
}
3988
3989
template <typename CharT>
3990
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3991
    const CharT* first,
3992
    const CharT* last)
3993
792k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
792k
    else {
3999
792k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
792k
    }
4001
792k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3993
88.3k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
88.3k
    else {
3999
88.3k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
88.3k
    }
4001
88.3k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3993
704k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
704k
    else {
3999
704k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
704k
    }
4001
704k
}
4002
4003
template <typename CharT>
4004
constexpr auto make_string_view_iterator(
4005
    std::basic_string_view<CharT> sv,
4006
    typename std::basic_string_view<CharT>::iterator it) ->
4007
    typename std::basic_string_view<CharT>::iterator
4008
605k
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
605k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
605k
        SCN_UNUSED(sv);
4014
605k
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
605k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4008
594k
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
594k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
594k
        SCN_UNUSED(sv);
4014
594k
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
594k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
4008
11.6k
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
11.6k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
11.6k
        SCN_UNUSED(sv);
4014
11.6k
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
11.6k
}
4020
4021
template <typename CharT>
4022
constexpr auto make_string_view_iterator_from_pointer(
4023
    std::basic_string_view<CharT> sv,
4024
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4025
{
4026
    if constexpr (std::is_constructible_v<
4027
                      typename std::basic_string_view<CharT>::iterator,
4028
                      const CharT*> &&
4029
                  !SCN_MSVC_DEBUG_ITERATORS) {
4030
        SCN_UNUSED(sv);
4031
        return ptr;
4032
    }
4033
    else {
4034
        return sv.begin() + std::distance(sv.data(), ptr);
4035
    }
4036
}
4037
4038
/////////////////////////////////////////////////////////////////
4039
// Lightweight Unicode facilities
4040
/////////////////////////////////////////////////////////////////
4041
4042
constexpr inline bool is_ascii_code_point(char32_t cp)
4043
0
{
4044
0
    return cp <= 0x7f;
4045
0
}
4046
4047
template <typename U8>
4048
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4049
5.55M
{
4050
5.55M
    static_assert(sizeof(U8) == 1);
4051
4052
5.55M
    SCN_GCC_COMPAT_PUSH
4053
5.55M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4054
5.55M
    constexpr char lengths[] =
4055
5.55M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4056
5.55M
        "\1\1\1\1\1\1\1\1"
4057
5.55M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4058
                            // byte
4059
5.55M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4060
5.55M
        "\3\3"              // highest bits 1110 -> 3-byte cp
4061
5.55M
        "\4";               // highest bits 11110 -> 4-byte cp
4062
5.55M
    return lengths[static_cast<unsigned char>(ch) >> 3];
4063
5.55M
    SCN_GCC_COMPAT_POP
4064
5.55M
}
4065
4066
template <typename U16>
4067
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4068
{
4069
    static_assert(sizeof(U16) == 2);
4070
4071
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4072
    if (lead >= 0xd800 && lead <= 0xdbff) {
4073
        // high surrogate
4074
        return 2;
4075
    }
4076
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4077
        // unpaired low surrogate
4078
        return 0;
4079
    }
4080
    return 1;
4081
}
4082
4083
template <typename U>
4084
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4085
6.52M
{
4086
6.52M
    if constexpr (sizeof(U) == 1) {
4087
5.55M
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
965k
    else {
4093
        // utf-32
4094
965k
        static_assert(sizeof(U) == 4);
4095
965k
        SCN_UNUSED(ch);
4096
965k
        return 1;
4097
965k
    }
4098
6.52M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4085
5.55M
{
4086
5.55M
    if constexpr (sizeof(U) == 1) {
4087
5.55M
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
    else {
4093
        // utf-32
4094
        static_assert(sizeof(U) == 4);
4095
        SCN_UNUSED(ch);
4096
        return 1;
4097
    }
4098
5.55M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4085
965k
{
4086
    if constexpr (sizeof(U) == 1) {
4087
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
965k
    else {
4093
        // utf-32
4094
965k
        static_assert(sizeof(U) == 4);
4095
965k
        SCN_UNUSED(ch);
4096
965k
        return 1;
4097
965k
    }
4098
965k
}
4099
4100
inline constexpr char32_t invalid_code_point = 0x110000;
4101
4102
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4103
    std::string_view input)
4104
5.17M
{
4105
5.17M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4106
4107
5.17M
    const auto is_trailing_code_unit = [](char ch) {
4108
961k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4109
961k
    };
4110
4111
5.17M
    if (input.size() == 1) {
4112
4.26M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4113
132
            SCN_UNLIKELY_ATTR
4114
132
            return invalid_code_point;
4115
132
        }
4116
4.26M
        return static_cast<char32_t>(input[0]);
4117
4.26M
    }
4118
4119
908k
    if (input.size() == 2) {
4120
857k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4121
18
            SCN_UNLIKELY_ATTR
4122
18
            return invalid_code_point;
4123
18
        }
4124
857k
        if (!is_trailing_code_unit(input[1])) {
4125
4.57k
            SCN_UNLIKELY_ATTR
4126
4.57k
            return invalid_code_point;
4127
4.57k
        }
4128
4129
852k
        char32_t cp{};
4130
852k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4131
852k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4132
852k
        return cp;
4133
857k
    }
4134
4135
51.8k
    if (input.size() == 3) {
4136
46.2k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4137
18
            SCN_UNLIKELY_ATTR
4138
18
            return invalid_code_point;
4139
18
        }
4140
46.2k
        if (!is_trailing_code_unit(input[1]) ||
4141
46.2k
            !is_trailing_code_unit(input[2])) {
4142
1.68k
            SCN_UNLIKELY_ATTR
4143
1.68k
            return invalid_code_point;
4144
1.68k
        }
4145
4146
44.5k
        char32_t cp{};
4147
44.5k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4148
44.5k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4149
44.5k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4150
44.5k
        return cp;
4151
46.2k
    }
4152
4153
5.62k
    if (input.size() == 4) {
4154
5.62k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4155
0
            SCN_UNLIKELY_ATTR
4156
0
            return invalid_code_point;
4157
0
        }
4158
5.62k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4159
414
            SCN_UNLIKELY_ATTR
4160
414
            return invalid_code_point;
4161
414
        }
4162
5.20k
        if (!is_trailing_code_unit(input[1]) ||
4163
5.20k
            !is_trailing_code_unit(input[2]) ||
4164
5.20k
            !is_trailing_code_unit(input[3])) {
4165
1.73k
            SCN_UNLIKELY_ATTR
4166
1.73k
            return invalid_code_point;
4167
1.73k
        }
4168
4169
3.46k
        char32_t cp{};
4170
3.46k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4171
3.46k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4172
3.46k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4173
3.46k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4174
3.46k
        return cp;
4175
5.20k
    }
4176
4177
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4178
    // gcc 7 thinks we'll get here, even when we won't
4179
0
    SCN_EXPECT(false);
4180
0
#endif
4181
0
    SCN_UNREACHABLE;
4182
0
}
4183
4184
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4185
    std::string_view input)
4186
216k
{
4187
216k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4188
4189
216k
    const auto is_trailing_code_unit = [](char ch) {
4190
37.2k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4191
37.2k
    };
4192
4193
216k
    if (input.size() == 1) {
4194
180k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4195
180k
        return static_cast<char32_t>(input[0]);
4196
180k
    }
4197
4198
36.0k
    if (input.size() == 2) {
4199
34.9k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4200
34.9k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4201
4202
34.9k
        char32_t cp{};
4203
34.9k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4204
34.9k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4205
34.9k
        return cp;
4206
34.9k
    }
4207
4208
1.04k
    if (input.size() == 3) {
4209
892
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4210
892
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4211
892
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4212
4213
892
        char32_t cp{};
4214
892
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4215
892
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4216
892
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4217
892
        return cp;
4218
892
    }
4219
4220
154
    if (input.size() == 4) {
4221
154
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4222
154
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4223
154
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4224
154
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4225
154
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4226
4227
154
        char32_t cp{};
4228
154
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4229
154
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4230
154
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4231
154
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4232
154
        return cp;
4233
154
    }
4234
4235
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4236
    // gcc 7 thinks we'll get here, even when we won't
4237
0
    SCN_EXPECT(false);
4238
0
#endif
4239
0
    SCN_UNREACHABLE;
4240
0
}
4241
4242
template <typename CharT>
4243
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4244
    std::basic_string_view<CharT> input)
4245
{
4246
    static_assert(sizeof(CharT) == 2);
4247
4248
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4249
4250
    if (input.size() == 1) {
4251
        return static_cast<char32_t>(input[0]);
4252
    }
4253
4254
    const auto lead = static_cast<uint32_t>(input[0]);
4255
    const auto trail = static_cast<uint32_t>(input[1]);
4256
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4257
        SCN_UNLIKELY_ATTR
4258
        return invalid_code_point;
4259
    }
4260
4261
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4262
    return static_cast<char32_t>(cp + 0x10000);
4263
}
4264
4265
template <typename CharT>
4266
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4267
    std::basic_string_view<CharT> input)
4268
{
4269
    static_assert(sizeof(CharT) == 2);
4270
4271
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4272
4273
    if (input.size() == 1) {
4274
        return static_cast<char32_t>(input[0]);
4275
    }
4276
4277
    const auto lead = static_cast<uint32_t>(input[0]);
4278
    const auto trail = static_cast<uint32_t>(input[1]);
4279
    SCN_EXPECT(lead >= 0xd800);
4280
    SCN_EXPECT(lead <= 0xdbff);
4281
    SCN_EXPECT(trail >= 0xdc00);
4282
    SCN_EXPECT(trail <= 0xdfff);
4283
4284
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4285
    return static_cast<char32_t>(cp + 0x10000);
4286
}
4287
4288
template <typename CharT>
4289
inline constexpr char32_t decode_code_point_exhaustive(
4290
    std::basic_string_view<CharT> input)
4291
6.08M
{
4292
6.08M
    if constexpr (sizeof(CharT) == 1) {
4293
5.17M
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
912k
    else {
4299
912k
        SCN_EXPECT(input.size() == 1);
4300
912k
        auto cp = static_cast<char32_t>(input.front());
4301
912k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
65.0k
            return invalid_code_point;
4303
65.0k
        }
4304
847k
        return cp;
4305
912k
    }
4306
6.08M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4291
5.17M
{
4292
5.17M
    if constexpr (sizeof(CharT) == 1) {
4293
5.17M
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
    else {
4299
        SCN_EXPECT(input.size() == 1);
4300
        auto cp = static_cast<char32_t>(input.front());
4301
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
            return invalid_code_point;
4303
        }
4304
        return cp;
4305
    }
4306
5.17M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4291
912k
{
4292
    if constexpr (sizeof(CharT) == 1) {
4293
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
912k
    else {
4299
912k
        SCN_EXPECT(input.size() == 1);
4300
912k
        auto cp = static_cast<char32_t>(input.front());
4301
912k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
65.0k
            return invalid_code_point;
4303
65.0k
        }
4304
847k
        return cp;
4305
912k
    }
4306
912k
}
4307
4308
template <typename CharT>
4309
inline constexpr char32_t decode_code_point_exhaustive_valid(
4310
    std::basic_string_view<CharT> input)
4311
216k
{
4312
216k
    if constexpr (sizeof(CharT) == 1) {
4313
216k
        return decode_utf8_code_point_exhaustive_valid(input);
4314
    }
4315
    else if constexpr (sizeof(CharT) == 2) {
4316
        return decode_utf16_code_point_exhaustive_valid(input);
4317
    }
4318
0
    else {
4319
0
        SCN_EXPECT(input.size() == 1);
4320
0
        return static_cast<char32_t>(input.front());
4321
0
    }
4322
216k
}
char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4311
216k
{
4312
216k
    if constexpr (sizeof(CharT) == 1) {
4313
216k
        return decode_utf8_code_point_exhaustive_valid(input);
4314
    }
4315
    else if constexpr (sizeof(CharT) == 2) {
4316
        return decode_utf16_code_point_exhaustive_valid(input);
4317
    }
4318
    else {
4319
        SCN_EXPECT(input.size() == 1);
4320
        return static_cast<char32_t>(input.front());
4321
    }
4322
216k
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4323
4324
inline constexpr bool is_cp_space(char32_t cp) noexcept
4325
922k
{
4326
    // Pattern_White_Space property
4327
922k
    return (cp >= 0x09 && cp <= 0x0d) ||
4328
922k
           cp == 0x20 ||    // ASCII space characters
4329
922k
           cp == 0x85 ||    // NEXT LINE (NEL)
4330
922k
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4331
922k
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4332
922k
           cp == 0x2028 ||  // LINE SEPARATOR
4333
922k
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4334
922k
}
4335
4336
}  // namespace detail
4337
4338
/////////////////////////////////////////////////////////////////
4339
// scan_buffer
4340
/////////////////////////////////////////////////////////////////
4341
4342
namespace detail {
4343
template <typename CharT>
4344
class basic_scan_buffer {
4345
public:
4346
    class forward_iterator;
4347
    class common_forward_iterator;
4348
4349
    using char_type = CharT;
4350
    using range_type =
4351
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4352
    using common_range_type = ranges::subrange<common_forward_iterator>;
4353
4354
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4355
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4356
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4357
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4358
0
    virtual ~basic_scan_buffer() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
4359
4360
    virtual bool fill() = 0;
4361
4362
    virtual bool sync(std::ptrdiff_t position)
4363
0
    {
4364
0
        SCN_UNUSED(position);
4365
0
        return true;
4366
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::sync(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
4367
4368
    bool sync_all()
4369
0
    {
4370
0
        return sync(0);
4371
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::sync_all()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
4372
4373
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4374
0
    {
4375
0
        return m_putback_buffer.size() + m_current_view.size();
4376
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::chars_available() const
4377
4378
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4379
0
    {
4380
0
        return m_current_view;
4381
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4382
4383
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4384
0
    {
4385
0
        return m_putback_buffer;
4386
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4387
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4388
    {
4389
        return m_putback_buffer;
4390
    }
4391
4392
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4393
        std::ptrdiff_t pos) const
4394
0
    {
4395
0
        if (SCN_UNLIKELY(
4396
0
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4397
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4398
0
        }
4399
0
        const auto start = pos - m_putback_buffer.size();
4400
0
        SCN_EXPECT(start <= m_current_view.size());
4401
0
        return m_current_view.substr(start);
4402
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
4403
4404
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4405
0
    {
4406
0
        if (SCN_UNLIKELY(
4407
0
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
0
            return m_putback_buffer[pos];
4409
0
        }
4410
0
        const auto start = pos - m_putback_buffer.size();
4411
0
        SCN_EXPECT(start < m_current_view.size());
4412
0
        return m_current_view[start];
4413
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
4414
4415
    SCN_NODISCARD bool is_contiguous() const
4416
0
    {
4417
0
        return m_is_contiguous;
4418
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
4419
4420
    SCN_NODISCARD auto get_contiguous() const
4421
0
    {
4422
0
        SCN_EXPECT(is_contiguous());
4423
0
        return ranges::subrange<const CharT*>{
4424
0
            current_view().data(),
4425
0
            current_view().data() + current_view().size()};
4426
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4427
4428
    SCN_NODISCARD range_type get();
4429
    SCN_NODISCARD common_range_type get_common_range();
4430
4431
protected:
4432
    friend class forward_iterator;
4433
    friend class common_forward_iterator;
4434
4435
    struct contiguous_tag {};
4436
    struct non_contiguous_tag {};
4437
4438
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4439
0
        : m_current_view(sv), m_is_contiguous(true)
4440
0
    {
4441
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4442
4443
    basic_scan_buffer(non_contiguous_tag,
4444
                      std::basic_string_view<char_type> sv = {})
4445
0
        : m_current_view(sv), m_is_contiguous(false)
4446
0
    {
4447
0
    }
4448
4449
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4450
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4451
0
    {
4452
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4453
4454
    std::basic_string_view<char_type> m_current_view{};
4455
    std::basic_string<char_type> m_putback_buffer{};
4456
    bool m_is_contiguous{false};
4457
};
4458
4459
template <typename CharT>
4460
class basic_scan_buffer<CharT>::forward_iterator {
4461
public:
4462
    using value_type = CharT;
4463
    using reference = CharT;
4464
    using pointer = CharT*;
4465
    using difference_type = std::ptrdiff_t;
4466
    using iterator_category = std::forward_iterator_tag;
4467
4468
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4469
4470
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4471
0
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
0
    {
4473
0
        SCN_EXPECT(parent);
4474
0
        SCN_EXPECT(!parent->is_contiguous());
4475
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
4476
4477
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4478
0
        : m_begin(const_cast<CharT*>(view.data())),
4479
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4480
0
          m_position(pos)
4481
0
    {
4482
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4483
4484
    std::ptrdiff_t position() const
4485
0
    {
4486
0
        return m_position;
4487
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
4488
4489
    bool stores_parent() const
4490
0
    {
4491
0
        assert(m_begin);
4492
0
        return m_end == nullptr;
4493
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
4494
4495
    basic_scan_buffer<CharT>* parent()
4496
0
    {
4497
0
        SCN_EXPECT(stores_parent());
4498
0
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4499
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
4500
    const basic_scan_buffer<CharT>* parent() const
4501
0
    {
4502
0
        SCN_EXPECT(stores_parent());
4503
0
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
4505
4506
    std::basic_string_view<CharT> contiguous_segment() const
4507
0
    {
4508
0
        if (!stores_parent()) {
4509
0
            return make_string_view_from_pointers(
4510
0
                static_cast<const CharT*>(m_begin) + position(),
4511
0
                static_cast<const CharT*>(m_end));
4512
0
        }
4513
0
        return parent()->get_segment_starting_at(position());
4514
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
4515
    auto to_contiguous_segment_iterator() const
4516
    {
4517
        return contiguous_segment().data();
4518
    }
4519
4520
    forward_iterator& operator++()
4521
0
    {
4522
0
        ++m_position;
4523
0
        (void)read_at_position();
4524
0
        return *this;
4525
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
4526
4527
    forward_iterator operator++(int)
4528
    {
4529
        auto copy = *this;
4530
        operator++();
4531
        return copy;
4532
    }
4533
4534
    CharT operator*() const
4535
0
    {
4536
0
        SCN_EXPECT(m_begin);
4537
4538
0
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
0
        auto res = read_at_position();
4545
0
        SCN_EXPECT(res);
4546
0
        return parent()->get_character_at(m_position);
4547
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
4548
4549
    forward_iterator& batch_advance(std::ptrdiff_t n)
4550
0
    {
4551
0
        SCN_EXPECT(n >= 0);
4552
0
        m_position += n;
4553
0
        return *this;
4554
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
4555
4556
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4557
0
    {
4558
0
        SCN_EXPECT(i >= m_position);
4559
0
        m_position = i;
4560
0
        return *this;
4561
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4562
4563
    friend bool operator==(const forward_iterator& lhs,
4564
                           const forward_iterator& rhs)
4565
0
    {
4566
0
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
0
    }
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
4568
    friend bool operator!=(const forward_iterator& lhs,
4569
                           const forward_iterator& rhs)
4570
0
    {
4571
0
        return !(lhs == rhs);
4572
0
    }
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
4573
4574
    friend bool operator==(const forward_iterator& x,
4575
                           ranges::default_sentinel_t)
4576
0
    {
4577
0
        return x.is_at_end();
4578
0
    }
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
4579
    friend bool operator==(ranges::default_sentinel_t,
4580
                           const forward_iterator& x)
4581
    {
4582
        return x.is_at_end();
4583
    }
4584
4585
    friend bool operator!=(const forward_iterator& x,
4586
                           ranges::default_sentinel_t)
4587
0
    {
4588
0
        return !x.is_at_end();
4589
0
    }
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
4590
    friend bool operator!=(ranges::default_sentinel_t,
4591
                           const forward_iterator& x)
4592
    {
4593
        return !x.is_at_end();
4594
    }
4595
4596
private:
4597
    friend class basic_scan_buffer<CharT>;
4598
4599
    SCN_NODISCARD bool read_at_position() const
4600
0
    {
4601
0
        SCN_EXPECT(m_begin);
4602
4603
0
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
0
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
0
            return true;
4609
0
        }
4610
4611
0
        while (m_position >= parent()->chars_available()) {
4612
0
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
0
                return false;
4614
0
            }
4615
0
        }
4616
0
        return true;
4617
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
4618
4619
    SCN_NODISCARD bool is_at_end() const
4620
0
    {
4621
0
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
0
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
0
        return !read_at_position();
4628
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
4629
4630
    // If m_end is null, m_begin points to the parent scan_buffer
4631
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4632
    // the entire range)
4633
    mutable void* m_begin{nullptr};
4634
    mutable void* m_end{nullptr};
4635
    std::ptrdiff_t m_position{0};
4636
};
4637
4638
template <typename CharT>
4639
class basic_scan_buffer<CharT>::common_forward_iterator
4640
    : public basic_scan_buffer<CharT>::forward_iterator {
4641
    using base = basic_scan_buffer<CharT>::forward_iterator;
4642
4643
public:
4644
    common_forward_iterator() = default;
4645
4646
    explicit common_forward_iterator(forward_iterator it)
4647
0
        : base(it), m_is_end(it.is_at_end())
4648
0
    {
4649
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4650
    explicit common_forward_iterator(ranges::default_sentinel_t)
4651
0
        : base(), m_is_end(true)
4652
0
    {
4653
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4654
4655
    common_forward_iterator& operator++()
4656
    {
4657
        base::operator++();
4658
        m_is_end = base::is_at_end();
4659
        return *this;
4660
    }
4661
4662
    common_forward_iterator operator++(int)
4663
    {
4664
        auto copy = *this;
4665
        operator++();
4666
        return copy;
4667
    }
4668
4669
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4670
    {
4671
        base::batch_advance(n);
4672
        m_is_end = base::is_at_end();
4673
        return *this;
4674
    }
4675
4676
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4677
    {
4678
        base::batch_advance_to(i);
4679
        m_is_end = base::is_at_end();
4680
        return *this;
4681
    }
4682
4683
    friend bool operator==(const common_forward_iterator& lhs,
4684
                           const common_forward_iterator& rhs)
4685
    {
4686
        if (lhs.m_is_end && rhs.m_is_end) {
4687
            return true;
4688
        }
4689
        if (lhs.m_is_end != rhs.m_is_end) {
4690
            return false;
4691
        }
4692
        return static_cast<const forward_iterator&>(lhs) ==
4693
               static_cast<const forward_iterator&>(rhs);
4694
    }
4695
4696
    friend bool operator!=(const common_forward_iterator& lhs,
4697
                           const common_forward_iterator& rhs)
4698
    {
4699
        return !(lhs == rhs);
4700
    }
4701
4702
private:
4703
    bool m_is_end{};
4704
};
4705
4706
template <typename CharT>
4707
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4708
0
{
4709
0
    if (is_contiguous()) {
4710
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
0
                                ranges::default_sentinel};
4712
0
    }
4713
0
    return ranges::subrange{forward_iterator{this, 0},
4714
0
                            ranges::default_sentinel};
4715
0
}
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get()
4716
4717
template <typename CharT>
4718
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4719
    -> common_range_type
4720
{
4721
    auto r = get();
4722
    return ranges::subrange{common_forward_iterator{r.begin()},
4723
                            common_forward_iterator{r.end()}};
4724
}
4725
4726
static_assert(ranges::forward_range<scan_buffer::range_type>);
4727
4728
template <typename CharT>
4729
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4730
    using base = basic_scan_buffer<CharT>;
4731
4732
public:
4733
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4734
0
        : base(typename base::contiguous_tag{}, sv)
4735
0
    {
4736
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4737
4738
    bool fill() override
4739
0
    {
4740
0
        SCN_EXPECT(false);
4741
0
        SCN_UNREACHABLE;
4742
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4743
};
4744
4745
template <typename CharT>
4746
basic_scan_string_buffer(std::basic_string_view<CharT>)
4747
    -> basic_scan_string_buffer<CharT>;
4748
4749
template <typename CharT>
4750
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4751
    using base = basic_scan_buffer<CharT>;
4752
4753
protected:
4754
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
    {
4756
    }
4757
};
4758
4759
template <typename I, typename S>
4760
using less_than_compare =
4761
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4762
4763
template <typename Range>
4764
class basic_scan_forward_buffer_impl
4765
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4766
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4767
4768
    using _char_type = detail::char_t<Range>;
4769
    using base = basic_scan_forward_buffer_base<_char_type>;
4770
4771
public:
4772
    using char_type = _char_type;
4773
    using range_type = Range;
4774
    using iterator = ranges::iterator_t<const Range>;
4775
    using sentinel = ranges::sentinel_t<const Range>;
4776
4777
    template <
4778
        typename R,
4779
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4780
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4781
    basic_scan_forward_buffer_impl(R&& r)
4782
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
          m_cursor(ranges::begin(*m_range))
4784
    {
4785
    }
4786
4787
    bool fill() override
4788
    {
4789
        if (m_cursor == ranges::end(*m_range)) {
4790
            return false;
4791
        }
4792
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
        }
4795
        if (!this->m_current_view.empty()) {
4796
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
                                          this->m_current_view.begin(),
4798
                                          this->m_current_view.end());
4799
        }
4800
        m_latest = *m_cursor;
4801
        ++m_cursor;
4802
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
        }
4806
        return true;
4807
    }
4808
4809
private:
4810
    const Range* m_range;
4811
    iterator m_cursor;
4812
    char_type m_latest{};
4813
};
4814
4815
template <typename R>
4816
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4817
4818
struct default_file_tag {};
4819
struct gnu_file_tag {};
4820
struct bsd_file_tag {};
4821
struct musl_file_tag {};
4822
struct win32_file_tag {};
4823
4824
// Non-pretty workaround for MSVC silliness
4825
template <typename F, typename = void>
4826
inline constexpr bool is_gnu_file = false;
4827
template <typename F>
4828
inline constexpr bool
4829
    is_gnu_file<F,
4830
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4831
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4832
4833
template <typename F, typename = void>
4834
inline constexpr bool is_bsd_file = false;
4835
template <typename F>
4836
inline constexpr bool is_bsd_file<
4837
    F,
4838
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4839
    true;
4840
4841
template <typename F, typename = void>
4842
inline constexpr bool is_musl_file = false;
4843
template <typename F>
4844
inline constexpr bool is_musl_file<
4845
    F,
4846
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4847
    true;
4848
4849
template <typename F>
4850
inline constexpr bool is_win32_file =
4851
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4852
4853
constexpr auto get_file_tag()
4854
0
{
4855
0
    if constexpr (is_gnu_file<std::FILE>) {
4856
0
        return detail::tag_type<gnu_file_tag>{};
4857
0
    }
4858
0
    else if constexpr (is_bsd_file<std::FILE>) {
4859
0
        return detail::tag_type<bsd_file_tag>{};
4860
0
    }
4861
0
    else if constexpr (is_musl_file<std::FILE>) {
4862
0
        return detail::tag_type<musl_file_tag>{};
4863
0
    }
4864
0
    else if constexpr (is_win32_file<std::FILE>) {
4865
0
        return detail::tag_type<win32_file_tag>{};
4866
0
    }
4867
0
    else {
4868
0
        return detail::tag_type<default_file_tag>{};
4869
0
    }
4870
0
}
4871
4872
template <typename File>
4873
struct stdio_file_interface_base {
4874
0
    stdio_file_interface_base(File* f) : file(f) {}
4875
    ~stdio_file_interface_base() = default;
4876
4877
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4878
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4879
        delete;
4880
4881
    stdio_file_interface_base(stdio_file_interface_base&& other)
4882
0
        : file(other.file)
4883
0
    {
4884
0
        other.file = nullptr;
4885
0
    }
4886
    stdio_file_interface_base& operator=(stdio_file_interface_base&& other)
4887
    {
4888
        file = other.file;
4889
        other.file = nullptr;
4890
        return *this;
4891
    }
4892
4893
    File* file;
4894
};
4895
4896
template <typename File, typename Tag>
4897
struct stdio_file_interface_impl;
4898
4899
template <typename File>
4900
struct stdio_file_interface_impl<File, default_file_tag>
4901
    : stdio_file_interface_base<File> {
4902
    void lock() {}
4903
    void unlock() {}
4904
4905
    bool has_buffering() const
4906
    {
4907
        return false;
4908
    }
4909
4910
    std::string_view buffer() const
4911
    {
4912
        return {};
4913
    }
4914
    void unsafe_advance_n(std::ptrdiff_t)
4915
    {
4916
        SCN_EXPECT(false);
4917
        SCN_UNREACHABLE;
4918
    }
4919
    void fill_buffer()
4920
    {
4921
        SCN_EXPECT(false);
4922
        SCN_UNREACHABLE;
4923
    }
4924
4925
    std::optional<char> read_one()
4926
    {
4927
        auto res = std::fgetc(this->file);
4928
        if (res == EOF) {
4929
            return std::nullopt;
4930
        }
4931
        return static_cast<char>(res);
4932
    }
4933
4934
    void prepare_putback() {}
4935
    void finalize_putback() {}
4936
4937
    bool putback(char ch)
4938
    {
4939
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4940
    }
4941
};
4942
4943
template <typename File>
4944
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4945
    void lock()
4946
0
    {
4947
0
        flockfile(this->file);
4948
0
    }
4949
    void unlock()
4950
0
    {
4951
0
        funlockfile(this->file);
4952
0
    }
4953
4954
    static bool has_buffering()
4955
0
    {
4956
0
        return true;
4957
0
    }
4958
4959
    std::optional<char> read_one()
4960
0
    {
4961
0
        auto res = getc_unlocked(this->file);
4962
0
        if (res == EOF) {
4963
0
            return std::nullopt;
4964
0
        }
4965
0
        return static_cast<char>(res);
4966
0
    }
4967
4968
    void prepare_putback()
4969
0
    {
4970
0
        unlock();
4971
0
    }
4972
    void finalize_putback()
4973
0
    {
4974
0
        lock();
4975
0
    }
4976
4977
    bool putback(char ch)
4978
0
    {
4979
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4980
0
    }
4981
};
4982
4983
template <typename File>
4984
struct stdio_file_interface_impl<File, gnu_file_tag>
4985
    : posix_stdio_file_interface<File> {
4986
    std::string_view buffer() const
4987
0
    {
4988
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
4989
0
                                              this->file->_IO_read_end);
4990
0
    }
4991
    void unsafe_advance_n(std::ptrdiff_t n)
4992
0
    {
4993
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
4994
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
4995
0
        this->file->_IO_read_ptr += n;
4996
0
    }
4997
    void fill_buffer()
4998
0
    {
4999
0
        if (__uflow(this->file) != EOF) {
5000
0
            --this->file->_IO_read_ptr;
5001
0
        }
5002
0
    }
5003
};
5004
5005
template <typename File>
5006
struct stdio_file_interface_impl<File, bsd_file_tag>
5007
    : posix_stdio_file_interface<File> {
5008
    std::string_view buffer() const
5009
    {
5010
        return {reinterpret_cast<const char*>(this->file->_p),
5011
                static_cast<std::size_t>(this->file->_r)};
5012
    }
5013
    void unsafe_advance_n(std::ptrdiff_t n)
5014
    {
5015
        SCN_EXPECT(this->file->_p != nullptr);
5016
        SCN_EXPECT(this->file->_r >= n);
5017
        this->file->_p += n;
5018
        this->file->_r -= n;
5019
    }
5020
    void fill_buffer()
5021
    {
5022
        if (__srget(this->file) != EOF) {
5023
            --this->file->_p;
5024
            ++this->file->_r;
5025
        }
5026
    }
5027
};
5028
5029
template <typename File>
5030
struct stdio_file_interface_impl<File, musl_file_tag>
5031
    : posix_stdio_file_interface<File> {
5032
    std::string_view buffer() const
5033
    {
5034
        return make_string_view_from_pointers(
5035
            reinterpret_cast<const char*>(this->file->rpos),
5036
            reinterpret_cast<const char*>(this->file->rend));
5037
    }
5038
    void unsafe_advance_n(std::ptrdiff_t n)
5039
    {
5040
        SCN_EXPECT(this->file->rpos != nullptr);
5041
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5042
        this->file->rpos += n;
5043
    }
5044
    void fill_buffer()
5045
    {
5046
        if (__uflow(this->file) != EOF) {
5047
            --this->file->rpos;
5048
        }
5049
    }
5050
};
5051
5052
template <typename File>
5053
struct stdio_file_interface_impl<File, win32_file_tag>
5054
    : stdio_file_interface_base<File> {
5055
    void lock()
5056
    {
5057
        _lock_file(this->file);
5058
    }
5059
    void unlock()
5060
    {
5061
        _unlock_file(this->file);
5062
    }
5063
5064
    static bool has_buffering()
5065
    {
5066
        return false;
5067
    }
5068
5069
    std::string_view buffer() const
5070
    {
5071
        return {};
5072
    }
5073
    void unsafe_advance_n(std::ptrdiff_t n)
5074
    {
5075
        SCN_EXPECT(false);
5076
        SCN_UNREACHABLE;
5077
    }
5078
    void fill_buffer()
5079
    {
5080
        SCN_EXPECT(false);
5081
        SCN_UNREACHABLE;
5082
    }
5083
5084
    std::optional<char> read_one()
5085
    {
5086
        auto res = _fgetc_nolock(this->file);
5087
        if (res == EOF) {
5088
            return std::nullopt;
5089
        }
5090
        return static_cast<char>(res);
5091
    }
5092
5093
    void prepare_putback() {}
5094
    void finalize_putback() {}
5095
5096
    bool putback(char ch)
5097
    {
5098
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5099
               EOF;
5100
    }
5101
};
5102
5103
using stdio_file_interface =
5104
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5105
5106
template <typename FileInterface>
5107
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5108
    using base = basic_scan_buffer<char>;
5109
5110
public:
5111
    explicit basic_scan_file_buffer(FileInterface file);
5112
    ~basic_scan_file_buffer();
5113
5114
    bool fill() override;
5115
5116
    bool sync(std::ptrdiff_t position) override;
5117
5118
private:
5119
    FileInterface m_file;
5120
    std::optional<char_type> m_latest{std::nullopt};
5121
};
5122
5123
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5124
    explicit scan_file_buffer(std::FILE* file)
5125
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5126
0
    {
5127
0
    }
5128
};
5129
5130
extern template basic_scan_file_buffer<
5131
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5132
extern template basic_scan_file_buffer<
5133
    stdio_file_interface>::~basic_scan_file_buffer();
5134
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5135
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5136
    std::ptrdiff_t);
5137
5138
template <typename CharT>
5139
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5140
    using base = basic_scan_buffer<CharT>;
5141
5142
public:
5143
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5144
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5145
0
          m_other(&other),
5146
0
          m_starting_pos(starting_pos)
5147
0
    {
5148
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5149
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5150
0
                                    this->m_current_view.end();
5151
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5152
5153
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5154
0
        : base(true, view), m_other(nullptr)
5155
0
    {
5156
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5157
5158
    bool fill() override
5159
0
    {
5160
0
        if (!m_other) {
5161
0
            return false;
5162
0
        }
5163
0
        SCN_EXPECT(m_starting_pos >= 0);
5164
5165
0
        if (m_fill_needs_to_propagate) {
5166
0
            auto ret = m_other->fill();
5167
0
            this->m_current_view = m_other->current_view();
5168
0
            this->m_putback_buffer =
5169
0
                m_other->putback_buffer().substr(m_starting_pos);
5170
0
            return ret;
5171
0
        }
5172
5173
0
        m_fill_needs_to_propagate = true;
5174
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5175
0
        this->m_current_view = m_other->current_view();
5176
0
        return true;
5177
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5178
5179
private:
5180
    base* m_other;
5181
    std::ptrdiff_t m_starting_pos{-1};
5182
    bool m_fill_needs_to_propagate{false};
5183
};
5184
5185
template <typename CharT>
5186
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5187
    -> basic_scan_ref_buffer<CharT>;
5188
5189
template <typename CharT>
5190
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5191
    -> basic_scan_ref_buffer<CharT>;
5192
5193
template <typename Range>
5194
auto make_string_scan_buffer(const Range& range)
5195
{
5196
    return basic_scan_string_buffer(
5197
        std::basic_string_view{ranges::data(range), ranges::size(range)});
5198
}
5199
5200
template <typename Range>
5201
auto make_forward_scan_buffer(const Range& range)
5202
{
5203
    return basic_scan_forward_buffer_impl(range);
5204
}
5205
5206
inline auto make_file_scan_buffer(std::FILE* file)
5207
0
{
5208
0
    return scan_file_buffer(file);
5209
0
}
5210
}  // namespace detail
5211
5212
/////////////////////////////////////////////////////////////////
5213
// make_scan_buffer
5214
/////////////////////////////////////////////////////////////////
5215
5216
/**
5217
 * \defgroup scannable Scannable sources
5218
 *
5219
 * \brief Description of the `scannable_range` and `scannable_source`
5220
 * concepts.
5221
 *
5222
 * A range is considered scannable, if it models at least `forward_range`,
5223
 * and its character type is correct (its value type is the same as the one
5224
 * of the format string).
5225
 * If the range additionally models `contiguous_range` and `sized_range`,
5226
 * additional optimizations are enabled.
5227
 *
5228
 * \code{.cpp}
5229
 * // Exposition only
5230
 * template <typename Range, typename CharT>
5231
 * concept scannable_range =
5232
 *     ranges::forward_range<Range> &&
5233
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5234
 * \endcode
5235
 *
5236
 * Additionally, files (`std::FILE*`) can be scanned from.
5237
 * Files are always considered to be narrow (`char`-oriented).
5238
 * Thus, the entire concept is:
5239
 *
5240
 * \code{.cpp}
5241
 * // Exposition only
5242
 * template <typename Source, typename CharT>
5243
 * concept scannable_source =
5244
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5245
 *    std::same_as<CharT, char>) ||
5246
 *   scannable_range<Source, CharT>;
5247
 * \endcode
5248
 */
5249
5250
/**
5251
 * Tag type to indicate an invalid range given to `scn::scan`
5252
 *
5253
 * \ingroup scannable
5254
 */
5255
struct invalid_input_range {};
5256
5257
struct invalid_char_type : invalid_input_range {};
5258
struct custom_char_traits : invalid_input_range {};
5259
struct file_marker_found : invalid_input_range {};
5260
struct insufficient_range : invalid_input_range {};
5261
5262
namespace detail {
5263
template <typename CharT>
5264
inline constexpr bool is_valid_char_type =
5265
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5266
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5267
5268
namespace _make_scan_buffer {
5269
// buffer -> ref_buffer
5270
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5271
    -> basic_scan_ref_buffer<char>
5272
0
{
5273
0
    if (!r.begin().stores_parent()) {
5274
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5275
0
    }
5276
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5277
0
}
5278
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5279
    -> basic_scan_ref_buffer<wchar_t>
5280
0
{
5281
0
    if (!r.begin().stores_parent()) {
5282
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5283
0
    }
5284
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5285
0
}
5286
5287
// string_view -> string_buffer
5288
template <typename CharT>
5289
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5290
186k
{
5291
186k
    if constexpr (is_valid_char_type<CharT>) {
5292
186k
        return r;
5293
        // return make_string_scan_buffer(r);
5294
    }
5295
    else {
5296
        return invalid_char_type{};
5297
    }
5298
186k
}
auto scn::v4::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::priority_tag<3ul>)
Line
Count
Source
5290
62.2k
{
5291
62.2k
    if constexpr (is_valid_char_type<CharT>) {
5292
62.2k
        return r;
5293
        // return make_string_scan_buffer(r);
5294
    }
5295
    else {
5296
        return invalid_char_type{};
5297
    }
5298
62.2k
}
auto scn::v4::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::detail::priority_tag<3ul>)
Line
Count
Source
5290
124k
{
5291
124k
    if constexpr (is_valid_char_type<CharT>) {
5292
124k
        return r;
5293
        // return make_string_scan_buffer(r);
5294
    }
5295
    else {
5296
        return invalid_char_type{};
5297
    }
5298
124k
}
5299
5300
// string& -> string_buffer
5301
template <typename CharT, typename Traits, typename Allocator>
5302
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5303
          priority_tag<3>) noexcept
5304
0
{
5305
    if constexpr (!is_valid_char_type<CharT>) {
5306
        return invalid_char_type{};
5307
    }
5308
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5309
        return custom_char_traits{};
5310
    }
5311
0
    else {
5312
0
        return std::basic_string_view<CharT>{r};
5313
0
    }
5314
0
}
5315
5316
// String literals:
5317
// CharT(&)[] -> string_buffer
5318
template <typename CharT,
5319
          std::size_t N,
5320
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5321
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5322
{
5323
    return std::basic_string_view<CharT>{r, N - 1};
5324
}
5325
5326
// FILE* -> file_buffer
5327
inline auto impl(std::FILE* file, priority_tag<3>)
5328
0
{
5329
0
    return make_file_scan_buffer(file);
5330
0
}
5331
5332
// contiguous + sized -> string_buffer
5333
template <typename Range,
5334
          std::enable_if_t<ranges::contiguous_range<Range> &&
5335
                           ranges::sized_range<Range>>* = nullptr>
5336
auto impl(const Range& r, priority_tag<2>)
5337
0
{
5338
0
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
0
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
0
}
Unexecuted instantiation: _ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
5345
5346
// !contiguous + random-access + iterator can be made into a ptr
5347
// for MSVC debug iterators
5348
//   -> string_buffer
5349
template <typename Range,
5350
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5351
                           ranges::random_access_range<Range> &&
5352
                           can_make_address_from_iterator<
5353
                               ranges::iterator_t<Range>>>* = nullptr>
5354
auto impl(const Range& r, priority_tag<1>)
5355
{
5356
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5357
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5358
                                              to_address(ranges::end(r)));
5359
    }
5360
    else {
5361
        return invalid_char_type{};
5362
    }
5363
}
5364
5365
// forward -> forward_buffer<R>
5366
template <typename Range>
5367
auto impl(const Range& r, priority_tag<0>)
5368
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
    else {
5384
        return make_forward_scan_buffer(r);
5385
    }
5386
}
5387
}  // namespace _make_scan_buffer
5388
5389
template <typename Range>
5390
inline constexpr bool is_scannable_range =
5391
    !std::is_base_of_v<invalid_input_range,
5392
                       decltype(_make_scan_buffer::impl(
5393
                                    SCN_DECLVAL(const Range&)),
5394
                                priority_tag<4>{})>;
5395
5396
template <typename Range>
5397
auto make_scan_buffer(const Range& range)
5398
186k
{
5399
186k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
186k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
186k
                  "\n"
5403
186k
                  "Unsupported range type given as input to a scanning "
5404
186k
                  "function.\n"
5405
186k
                  "A range needs to have a character type (value type) "
5406
186k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
186k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
186k
                  "to be included.\n"
5409
186k
                  "See the scnlib documentation for more details.");
5410
186k
    static_assert(
5411
186k
        !std::is_same_v<T, custom_char_traits>,
5412
186k
        "\n"
5413
186k
        "Unsupported range type given as input to a scanning "
5414
186k
        "function.\n"
5415
186k
        "String types (std::basic_string, and std::basic_string_view) "
5416
186k
        "need to use std::char_traits. Strings with custom Traits are "
5417
186k
        "not supported.");
5418
186k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
186k
                  "\n"
5420
186k
                  "Unsupported range type given as input to a scanning "
5421
186k
                  "function.\n"
5422
186k
                  "file_marker_found cannot be used as an "
5423
186k
                  "source range type to scn::scan.\n"
5424
186k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
186k
                  "and do not provide an explicit source range, "
5426
186k
                  "or use scn::scan with a FILE* directly.");
5427
186k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
186k
                  "\n"
5429
186k
                  "Unsupported range type given as input to a scanning "
5430
186k
                  "function.\n"
5431
186k
                  "In order to be scannable, a range needs to satisfy "
5432
186k
                  "`forward_range`. `input_range` is not sufficient.");
5433
186k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
186k
                  "\n"
5435
186k
                  "Unsupported range type given as input to a scanning "
5436
186k
                  "function.\n"
5437
186k
                  "A range needs to model forward_range and have a valid "
5438
186k
                  "character type (char or wchar_t) to be scannable.\n"
5439
186k
                  "Examples of scannable ranges are std::string, "
5440
186k
                  "std::string_view, "
5441
186k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
186k
                  "See the scnlib documentation for more details.");
5443
5444
186k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
186k
}
auto scn::v4::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
5398
62.2k
{
5399
62.2k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
62.2k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
62.2k
                  "\n"
5403
62.2k
                  "Unsupported range type given as input to a scanning "
5404
62.2k
                  "function.\n"
5405
62.2k
                  "A range needs to have a character type (value type) "
5406
62.2k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
62.2k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
62.2k
                  "to be included.\n"
5409
62.2k
                  "See the scnlib documentation for more details.");
5410
62.2k
    static_assert(
5411
62.2k
        !std::is_same_v<T, custom_char_traits>,
5412
62.2k
        "\n"
5413
62.2k
        "Unsupported range type given as input to a scanning "
5414
62.2k
        "function.\n"
5415
62.2k
        "String types (std::basic_string, and std::basic_string_view) "
5416
62.2k
        "need to use std::char_traits. Strings with custom Traits are "
5417
62.2k
        "not supported.");
5418
62.2k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
62.2k
                  "\n"
5420
62.2k
                  "Unsupported range type given as input to a scanning "
5421
62.2k
                  "function.\n"
5422
62.2k
                  "file_marker_found cannot be used as an "
5423
62.2k
                  "source range type to scn::scan.\n"
5424
62.2k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
62.2k
                  "and do not provide an explicit source range, "
5426
62.2k
                  "or use scn::scan with a FILE* directly.");
5427
62.2k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
62.2k
                  "\n"
5429
62.2k
                  "Unsupported range type given as input to a scanning "
5430
62.2k
                  "function.\n"
5431
62.2k
                  "In order to be scannable, a range needs to satisfy "
5432
62.2k
                  "`forward_range`. `input_range` is not sufficient.");
5433
62.2k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
62.2k
                  "\n"
5435
62.2k
                  "Unsupported range type given as input to a scanning "
5436
62.2k
                  "function.\n"
5437
62.2k
                  "A range needs to model forward_range and have a valid "
5438
62.2k
                  "character type (char or wchar_t) to be scannable.\n"
5439
62.2k
                  "Examples of scannable ranges are std::string, "
5440
62.2k
                  "std::string_view, "
5441
62.2k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
62.2k
                  "See the scnlib documentation for more details.");
5443
5444
62.2k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
62.2k
}
auto scn::v4::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
5398
124k
{
5399
124k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
124k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
124k
                  "\n"
5403
124k
                  "Unsupported range type given as input to a scanning "
5404
124k
                  "function.\n"
5405
124k
                  "A range needs to have a character type (value type) "
5406
124k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
124k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
124k
                  "to be included.\n"
5409
124k
                  "See the scnlib documentation for more details.");
5410
124k
    static_assert(
5411
124k
        !std::is_same_v<T, custom_char_traits>,
5412
124k
        "\n"
5413
124k
        "Unsupported range type given as input to a scanning "
5414
124k
        "function.\n"
5415
124k
        "String types (std::basic_string, and std::basic_string_view) "
5416
124k
        "need to use std::char_traits. Strings with custom Traits are "
5417
124k
        "not supported.");
5418
124k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
124k
                  "\n"
5420
124k
                  "Unsupported range type given as input to a scanning "
5421
124k
                  "function.\n"
5422
124k
                  "file_marker_found cannot be used as an "
5423
124k
                  "source range type to scn::scan.\n"
5424
124k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
124k
                  "and do not provide an explicit source range, "
5426
124k
                  "or use scn::scan with a FILE* directly.");
5427
124k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
124k
                  "\n"
5429
124k
                  "Unsupported range type given as input to a scanning "
5430
124k
                  "function.\n"
5431
124k
                  "In order to be scannable, a range needs to satisfy "
5432
124k
                  "`forward_range`. `input_range` is not sufficient.");
5433
124k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
124k
                  "\n"
5435
124k
                  "Unsupported range type given as input to a scanning "
5436
124k
                  "function.\n"
5437
124k
                  "A range needs to model forward_range and have a valid "
5438
124k
                  "character type (char or wchar_t) to be scannable.\n"
5439
124k
                  "Examples of scannable ranges are std::string, "
5440
124k
                  "std::string_view, "
5441
124k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
124k
                  "See the scnlib documentation for more details.");
5443
5444
124k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
124k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
5446
5447
template <
5448
    typename Range,
5449
    std::enable_if_t<
5450
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5451
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5452
auto make_scan_buffer(Range&&) = delete;
5453
}  // namespace detail
5454
5455
/////////////////////////////////////////////////////////////////
5456
// Argument type erasure
5457
/////////////////////////////////////////////////////////////////
5458
5459
namespace detail {
5460
enum class arg_type : unsigned char {
5461
    none_type,
5462
    schar_type,
5463
    short_type,
5464
    int_type,
5465
    long_type,
5466
    llong_type,
5467
    int128_type,
5468
    uchar_type,
5469
    ushort_type,
5470
    uint_type,
5471
    ulong_type,
5472
    ullong_type,
5473
    uint128_type,
5474
    bool_type,
5475
    narrow_character_type,
5476
    wide_character_type,
5477
    code_point_type,
5478
    pointer_type,
5479
    float_type,
5480
    double_type,
5481
    ldouble_type,
5482
    float16_type,
5483
    float32_type,
5484
    float64_type,
5485
    float128_type,
5486
    bfloat16_type,
5487
    // Only a single string_view_type,
5488
    // no separate narrow/wide versions,
5489
    // because only one of them is valid for each CharT
5490
    string_view_type,
5491
    narrow_string_type,
5492
    wide_string_type,
5493
    custom_type,
5494
    last_type = custom_type
5495
};
5496
5497
template <typename>
5498
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5499
5500
template <typename CharT>
5501
inline constexpr bool is_type_disabled<basic_regex_matches<CharT>> =
5502
    SCN_DISABLE_REGEX;
5503
5504
template <typename T, typename CharT>
5505
struct arg_type_constant
5506
    : std::integral_constant<arg_type, arg_type::custom_type> {
5507
    using type = T;
5508
};
5509
5510
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5511
    template <typename CharT>                             \
5512
    struct arg_type_constant<Type, CharT>                 \
5513
        : std::integral_constant<arg_type, arg_type::C> { \
5514
        using type = Type;                                \
5515
    };                                                    \
5516
    template <>                                           \
5517
    inline constexpr bool is_type_disabled<Type> = Disabled
5518
5519
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5520
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5521
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5522
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5523
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5524
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5525
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5526
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5527
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5528
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5529
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5530
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5531
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5532
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5533
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5534
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5535
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5536
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5537
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5538
SCN_TYPE_CONSTANT(std::string_view,
5539
                  string_view_type,
5540
                  SCN_DISABLE_TYPE_STRING_VIEW);
5541
SCN_TYPE_CONSTANT(std::wstring_view,
5542
                  string_view_type,
5543
                  SCN_DISABLE_TYPE_STRING_VIEW);
5544
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5545
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5546
5547
#if SCN_HAS_INT128
5548
SCN_TYPE_CONSTANT(int128, int128_type, SCN_DISABLE_TYPE_INT128);
5549
SCN_TYPE_CONSTANT(uint128, uint128_type, SCN_DISABLE_TYPE_UINT128);
5550
#endif
5551
5552
#if SCN_HAS_STD_F16
5553
SCN_TYPE_CONSTANT(std::float16_t, float16_type, SCN_DISABLE_TYPE_FLOAT16);
5554
#endif
5555
#if SCN_HAS_STD_F32
5556
SCN_TYPE_CONSTANT(std::float32_t, float32_type, SCN_DISABLE_TYPE_FLOAT32);
5557
#endif
5558
#if SCN_HAS_STD_F64
5559
SCN_TYPE_CONSTANT(std::float64_t, float64_type, SCN_DISABLE_TYPE_FLOAT64);
5560
#endif
5561
#if SCN_HAS_STD_F128
5562
SCN_TYPE_CONSTANT(std::float128_t, float128_type, SCN_DISABLE_TYPE_FLOAT128);
5563
#endif
5564
#if SCN_HAS_STD_BF16
5565
SCN_TYPE_CONSTANT(std::bfloat16_t, bfloat16_type, SCN_DISABLE_TYPE_BFLOAT16);
5566
#endif
5567
5568
#undef SCN_TYPE_CONSTANT
5569
5570
struct custom_value_type {
5571
    void* value;
5572
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5573
};
5574
5575
struct unscannable {};
5576
struct unscannable_char : unscannable {};
5577
struct unscannable_const : unscannable {};
5578
struct unscannable_disabled : unscannable {
5579
    unscannable_disabled() = default;
5580
5581
    template <typename T>
5582
    constexpr unscannable_disabled(T&&)
5583
    {
5584
    }
5585
};
5586
5587
struct needs_context_tag {};
5588
5589
template <typename Context>
5590
struct context_tag {
5591
    using type = Context;
5592
};
5593
5594
template <typename T, typename Context>
5595
struct custom_wrapper {
5596
    using context_type = Context;
5597
    T& val;
5598
};
5599
5600
template <typename T, typename Scanner, typename ParseCtx>
5601
scan_expected<void> parse_custom_arg(T& arg, Scanner& s, ParseCtx& pctx)
5602
{
5603
#if SCN_HAS_EXCEPTIONS
5604
    auto fmt_it = pctx.begin();
5605
    try {
5606
        fmt_it = s.parse(pctx);
5607
    }
5608
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
        if (const char* m = get_internal_literal_msg(ex)) {
5617
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
        }
5619
        thread_local std::string err_msg{};
5620
        err_msg = ex.what();
5621
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
                                     err_msg.c_str());
5623
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
        return e;
5629
    }
5630
    pctx.advance_to(fmt_it);
5631
    return {};
5632
}
5633
5634
class arg_value {
5635
public:
5636
    // trivial default initialization in constexpr
5637
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5638
    SCN_STD > SCN_STD_20
5639
    constexpr arg_value() = default;
5640
#else
5641
59.4k
    arg_value() = default;
5642
#endif
5643
5644
    template <typename T>
5645
186k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
186k
    {
5647
186k
    }
scn::v4::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
5645
6.92k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
6.92k
    {
5647
6.92k
    }
scn::v4::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5645
20.7k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
20.7k
    {
5647
20.7k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5645
6.92k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
6.92k
    {
5647
6.92k
    }
scn::v4::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
5645
13.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
13.8k
    {
5647
13.8k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5645
13.8k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
13.8k
    {
5647
13.8k
    }
5648
5649
    template <typename T, typename Context>
5650
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5651
        : custom_value{static_cast<void*>(&val.val),
5652
                       scan_custom_arg<T, Context>}
5653
    {
5654
    }
5655
5656
    arg_value(unscannable);
5657
    arg_value(unscannable_char);
5658
    arg_value(unscannable_const);
5659
    arg_value(unscannable_disabled);
5660
5661
    union {
5662
        void* ref_value{nullptr};
5663
        custom_value_type custom_value;
5664
    };
5665
5666
private:
5667
    template <typename T, typename Context>
5668
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5669
    {
5670
        static_assert(!is_type_disabled<T>,
5671
                      "Scanning of custom types is disabled by "
5672
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
        using context_type = Context;
5676
        using parse_context_type = typename context_type::parse_context_type;
5677
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
        auto s = scanner_type{};
5680
5681
        auto& arg_ref = *static_cast<T*>(arg);
5682
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
        return {};
5690
    }
5691
};
5692
5693
template <typename CharT>
5694
struct arg_mapper {
5695
    using char_type = CharT;
5696
    using other_char_type =
5697
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5698
5699
#define SCN_ARG_MAPPER(T)                                                    \
5700
    static auto map(T& val)                                                  \
5701
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5702
179k
    {                                                                        \
5703
179k
        return val;                                                          \
5704
179k
    }
scn::v4::detail::arg_mapper<char>::map(int&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(double&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5702
6.92k
    {                                                                        \
5703
6.92k
        return val;                                                          \
5704
6.92k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5702
13.8k
    {                                                                        \
5703
13.8k
        return val;                                                          \
5704
13.8k
    }
5705
5706
    SCN_ARG_MAPPER(signed char)
5707
    SCN_ARG_MAPPER(short)
5708
    SCN_ARG_MAPPER(int)
5709
    SCN_ARG_MAPPER(long)
5710
    SCN_ARG_MAPPER(long long)
5711
    SCN_ARG_MAPPER(unsigned char)
5712
    SCN_ARG_MAPPER(unsigned short)
5713
    SCN_ARG_MAPPER(unsigned)
5714
    SCN_ARG_MAPPER(unsigned long)
5715
    SCN_ARG_MAPPER(unsigned long long)
5716
    SCN_ARG_MAPPER(wchar_t)
5717
    SCN_ARG_MAPPER(char32_t)
5718
    SCN_ARG_MAPPER(bool)
5719
    SCN_ARG_MAPPER(void*)
5720
    SCN_ARG_MAPPER(const void*)
5721
    SCN_ARG_MAPPER(float)
5722
    SCN_ARG_MAPPER(double)
5723
    SCN_ARG_MAPPER(long double)
5724
5725
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5726
    SCN_ARG_MAPPER(std::string)
5727
    SCN_ARG_MAPPER(std::wstring)
5728
5729
#if SCN_HAS_INT128
5730
    SCN_ARG_MAPPER(int128)
5731
    SCN_ARG_MAPPER(uint128)
5732
#endif
5733
5734
#if SCN_HAS_STD_F16
5735
    SCN_ARG_MAPPER(std::float16_t)
5736
#endif
5737
#if SCN_HAS_STD_F32
5738
    SCN_ARG_MAPPER(std::float32_t)
5739
#endif
5740
#if SCN_HAS_STD_F64
5741
    SCN_ARG_MAPPER(std::float64_t)
5742
#endif
5743
#if SCN_HAS_STD_F128
5744
    SCN_ARG_MAPPER(std::float128_t)
5745
#endif
5746
#if SCN_HAS_STD_BF16
5747
    SCN_ARG_MAPPER(std::bfloat16_t)
5748
#endif
5749
5750
#undef SCN_ARG_MAPPER
5751
5752
    static decltype(auto) map(char& val)
5753
6.92k
    {
5754
        if constexpr (std::is_same_v<char_type, char> &&
5755
6.92k
                      !is_type_disabled<char_type>) {
5756
6.92k
            return val;
5757
        }
5758
        else if constexpr (is_type_disabled<char_type>) {
5759
            return unscannable_disabled{val};
5760
        }
5761
        else {
5762
            SCN_UNUSED(val);
5763
            return unscannable_char{};
5764
        }
5765
6.92k
    }
5766
5767
#if !SCN_DISABLE_REGEX
5768
    // regex_matches treated as a custom type, not packed,
5769
    // to save bits in the packed value,
5770
    // and since regex reading isn't fast anyway
5771
    template <typename T, typename Context>
5772
    static auto map(basic_regex_matches<char_type>& val)
5773
    {
5774
        if constexpr (is_type_disabled<char_type>) {
5775
            return unscannable_disabled{val};
5776
        }
5777
        else {
5778
            return custom_wrapper<T, Context>{val};
5779
        }
5780
    }
5781
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5782
    {
5783
        return {};
5784
    }
5785
#endif
5786
5787
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5788
    {
5789
        return {};
5790
    }
5791
5792
    template <typename T,
5793
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5794
    static needs_context_tag map(T&)
5795
    {
5796
        return {};
5797
    }
5798
5799
    template <typename T,
5800
              typename Context,
5801
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5802
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5803
    {
5804
        return {val};
5805
    }
5806
5807
    static unscannable map(...)
5808
    {
5809
        return {};
5810
    }
5811
};
5812
5813
template <typename T, typename CharT>
5814
using mapped_type_constant = arg_type_constant<
5815
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5816
    CharT>;
5817
5818
template <typename T, typename CharT>
5819
using is_scannable = std::integral_constant<
5820
    bool,
5821
    !std::is_base_of_v<
5822
        unscannable,
5823
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5824
5825
constexpr std::size_t packed_arg_bits = 5;
5826
static_assert((1 << packed_arg_bits) > static_cast<int>(arg_type::last_type),
5827
              "If this fails, there are more `arg_type` values than values "
5828
              "that can fit in `packed_arg_bits`. Either something needs to be "
5829
              "removed from `arg_type` (spilling them to the stack), or "
5830
              "`packed_arg_bits` must be increased (causing the number of "
5831
              "arguments that can be packed to decrease)");
5832
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5833
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5834
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5835
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5836
5837
template <typename>
5838
constexpr size_t encode_types_impl()
5839
0
{
5840
0
    return 0;
5841
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5842
template <typename CharT, typename T, typename... Others>
5843
constexpr size_t encode_types_impl()
5844
0
{
5845
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5846
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5847
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
5848
5849
template <typename CharT, typename... Ts>
5850
constexpr size_t encode_types()
5851
0
{
5852
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5853
0
        return sizeof...(Ts) |
5854
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5855
0
    }
5856
0
    else {
5857
0
        SCN_EXPECT(false);
5858
0
        SCN_UNREACHABLE;
5859
0
    }
5860
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
5861
5862
template <typename T, typename Arg>
5863
constexpr auto make_value_impl(Arg&& arg)
5864
186k
{
5865
186k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
186k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
186k
    constexpr bool scannable_char =
5869
186k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
186k
    static_assert(scannable_char,
5871
186k
                  "Cannot scan an argument of an unsupported character "
5872
186k
                  "type (i.e. char from a wchar_t source)");
5873
5874
186k
    constexpr bool scannable_const =
5875
186k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
186k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
186k
    constexpr bool scannable_disabled =
5879
186k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
186k
    static_assert(scannable_disabled,
5881
186k
                  "Cannot scan an argument that has been disabled by "
5882
186k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
186k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
186k
    static_assert(
5886
186k
        scannable,
5887
186k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
186k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
186k
    return arg_value{arg};
5891
186k
}
auto scn::v4::detail::make_value_impl<char, char&>(char&)
Line
Count
Source
5864
6.92k
{
5865
6.92k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
6.92k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
6.92k
    constexpr bool scannable_char =
5869
6.92k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
6.92k
    static_assert(scannable_char,
5871
6.92k
                  "Cannot scan an argument of an unsupported character "
5872
6.92k
                  "type (i.e. char from a wchar_t source)");
5873
5874
6.92k
    constexpr bool scannable_const =
5875
6.92k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
6.92k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
6.92k
    constexpr bool scannable_disabled =
5879
6.92k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
6.92k
    static_assert(scannable_disabled,
5881
6.92k
                  "Cannot scan an argument that has been disabled by "
5882
6.92k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
6.92k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
6.92k
    static_assert(
5886
6.92k
        scannable,
5887
6.92k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
6.92k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
6.92k
    return arg_value{arg};
5891
6.92k
}
auto scn::v4::detail::make_value_impl<int, int&>(int&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<unsigned int, unsigned int&>(unsigned int&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<double, double&>(double&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<bool, bool&>(bool&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<void*, void*&>(void*&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5864
20.7k
{
5865
20.7k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
20.7k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
20.7k
    constexpr bool scannable_char =
5869
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
20.7k
    static_assert(scannable_char,
5871
20.7k
                  "Cannot scan an argument of an unsupported character "
5872
20.7k
                  "type (i.e. char from a wchar_t source)");
5873
5874
20.7k
    constexpr bool scannable_const =
5875
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
20.7k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
20.7k
    constexpr bool scannable_disabled =
5879
20.7k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
20.7k
    static_assert(scannable_disabled,
5881
20.7k
                  "Cannot scan an argument that has been disabled by "
5882
20.7k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
20.7k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
20.7k
    static_assert(
5886
20.7k
        scannable,
5887
20.7k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
20.7k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
20.7k
    return arg_value{arg};
5891
20.7k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5864
6.92k
{
5865
6.92k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
6.92k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
6.92k
    constexpr bool scannable_char =
5869
6.92k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
6.92k
    static_assert(scannable_char,
5871
6.92k
                  "Cannot scan an argument of an unsupported character "
5872
6.92k
                  "type (i.e. char from a wchar_t source)");
5873
5874
6.92k
    constexpr bool scannable_const =
5875
6.92k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
6.92k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
6.92k
    constexpr bool scannable_disabled =
5879
6.92k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
6.92k
    static_assert(scannable_disabled,
5881
6.92k
                  "Cannot scan an argument that has been disabled by "
5882
6.92k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
6.92k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
6.92k
    static_assert(
5886
6.92k
        scannable,
5887
6.92k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
6.92k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
6.92k
    return arg_value{arg};
5891
6.92k
}
auto scn::v4::detail::make_value_impl<wchar_t, wchar_t&>(wchar_t&)
Line
Count
Source
5864
13.8k
{
5865
13.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
13.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
13.8k
    constexpr bool scannable_char =
5869
13.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
13.8k
    static_assert(scannable_char,
5871
13.8k
                  "Cannot scan an argument of an unsupported character "
5872
13.8k
                  "type (i.e. char from a wchar_t source)");
5873
5874
13.8k
    constexpr bool scannable_const =
5875
13.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
13.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
13.8k
    constexpr bool scannable_disabled =
5879
13.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
13.8k
    static_assert(scannable_disabled,
5881
13.8k
                  "Cannot scan an argument that has been disabled by "
5882
13.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
13.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
13.8k
    static_assert(
5886
13.8k
        scannable,
5887
13.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
13.8k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
13.8k
    return arg_value{arg};
5891
13.8k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5864
13.8k
{
5865
13.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
13.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
13.8k
    constexpr bool scannable_char =
5869
13.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
13.8k
    static_assert(scannable_char,
5871
13.8k
                  "Cannot scan an argument of an unsupported character "
5872
13.8k
                  "type (i.e. char from a wchar_t source)");
5873
5874
13.8k
    constexpr bool scannable_const =
5875
13.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
13.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
13.8k
    constexpr bool scannable_disabled =
5879
13.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
13.8k
    static_assert(scannable_disabled,
5881
13.8k
                  "Cannot scan an argument that has been disabled by "
5882
13.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
13.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
13.8k
    static_assert(
5886
13.8k
        scannable,
5887
13.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
13.8k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
13.8k
    return arg_value{arg};
5891
13.8k
}
5892
5893
template <typename Context, typename T>
5894
constexpr auto make_value(T& value)
5895
186k
{
5896
186k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
186k
                                  needs_context_tag>) {
5900
186k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
186k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>(char&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>(bool&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>(void*&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5895
6.92k
{
5896
6.92k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
6.92k
                                  needs_context_tag>) {
5900
6.92k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
6.92k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>(double&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>(bool&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>(void*&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5895
13.8k
{
5896
13.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
13.8k
                                  needs_context_tag>) {
5900
13.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
13.8k
}
5907
5908
template <typename... Args>
5909
constexpr bool check_scan_arg_types()
5910
186k
{
5911
186k
    constexpr bool default_constructible_constraint =
5912
186k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
186k
    static_assert(default_constructible_constraint,
5914
186k
                  "Scan argument types must be default constructible");
5915
5916
186k
    constexpr bool destructible_constraint =
5917
186k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
186k
    static_assert(destructible_constraint,
5919
186k
                  "Scan argument types must be Destructible");
5920
5921
186k
    constexpr bool non_reference_constraint =
5922
186k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
186k
    static_assert(non_reference_constraint,
5924
186k
                  "Scan argument types must not be references");
5925
5926
186k
    constexpr bool movable_constraint =
5927
186k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
186k
    static_assert(movable_constraint,
5929
186k
                  "Scan argument types must be move constructible");
5930
5931
186k
    return default_constructible_constraint && destructible_constraint &&
5932
186k
           non_reference_constraint && movable_constraint;
5933
186k
}
bool scn::v4::detail::check_scan_arg_types<char>()
Line
Count
Source
5910
6.92k
{
5911
6.92k
    constexpr bool default_constructible_constraint =
5912
6.92k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
6.92k
    static_assert(default_constructible_constraint,
5914
6.92k
                  "Scan argument types must be default constructible");
5915
5916
6.92k
    constexpr bool destructible_constraint =
5917
6.92k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
6.92k
    static_assert(destructible_constraint,
5919
6.92k
                  "Scan argument types must be Destructible");
5920
5921
6.92k
    constexpr bool non_reference_constraint =
5922
6.92k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
6.92k
    static_assert(non_reference_constraint,
5924
6.92k
                  "Scan argument types must not be references");
5925
5926
6.92k
    constexpr bool movable_constraint =
5927
6.92k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
6.92k
    static_assert(movable_constraint,
5929
6.92k
                  "Scan argument types must be move constructible");
5930
5931
6.92k
    return default_constructible_constraint && destructible_constraint &&
5932
6.92k
           non_reference_constraint && movable_constraint;
5933
6.92k
}
bool scn::v4::detail::check_scan_arg_types<int>()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<double>()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<bool>()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<void*>()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5910
20.7k
{
5911
20.7k
    constexpr bool default_constructible_constraint =
5912
20.7k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
20.7k
    static_assert(default_constructible_constraint,
5914
20.7k
                  "Scan argument types must be default constructible");
5915
5916
20.7k
    constexpr bool destructible_constraint =
5917
20.7k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
20.7k
    static_assert(destructible_constraint,
5919
20.7k
                  "Scan argument types must be Destructible");
5920
5921
20.7k
    constexpr bool non_reference_constraint =
5922
20.7k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
20.7k
    static_assert(non_reference_constraint,
5924
20.7k
                  "Scan argument types must not be references");
5925
5926
20.7k
    constexpr bool movable_constraint =
5927
20.7k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
20.7k
    static_assert(movable_constraint,
5929
20.7k
                  "Scan argument types must be move constructible");
5930
5931
20.7k
    return default_constructible_constraint && destructible_constraint &&
5932
20.7k
           non_reference_constraint && movable_constraint;
5933
20.7k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5910
6.92k
{
5911
6.92k
    constexpr bool default_constructible_constraint =
5912
6.92k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
6.92k
    static_assert(default_constructible_constraint,
5914
6.92k
                  "Scan argument types must be default constructible");
5915
5916
6.92k
    constexpr bool destructible_constraint =
5917
6.92k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
6.92k
    static_assert(destructible_constraint,
5919
6.92k
                  "Scan argument types must be Destructible");
5920
5921
6.92k
    constexpr bool non_reference_constraint =
5922
6.92k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
6.92k
    static_assert(non_reference_constraint,
5924
6.92k
                  "Scan argument types must not be references");
5925
5926
6.92k
    constexpr bool movable_constraint =
5927
6.92k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
6.92k
    static_assert(movable_constraint,
5929
6.92k
                  "Scan argument types must be move constructible");
5930
5931
6.92k
    return default_constructible_constraint && destructible_constraint &&
5932
6.92k
           non_reference_constraint && movable_constraint;
5933
6.92k
}
bool scn::v4::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5910
13.8k
{
5911
13.8k
    constexpr bool default_constructible_constraint =
5912
13.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
13.8k
    static_assert(default_constructible_constraint,
5914
13.8k
                  "Scan argument types must be default constructible");
5915
5916
13.8k
    constexpr bool destructible_constraint =
5917
13.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
13.8k
    static_assert(destructible_constraint,
5919
13.8k
                  "Scan argument types must be Destructible");
5920
5921
13.8k
    constexpr bool non_reference_constraint =
5922
13.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
13.8k
    static_assert(non_reference_constraint,
5924
13.8k
                  "Scan argument types must not be references");
5925
5926
13.8k
    constexpr bool movable_constraint =
5927
13.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
13.8k
    static_assert(movable_constraint,
5929
13.8k
                  "Scan argument types must be move constructible");
5930
5931
13.8k
    return default_constructible_constraint && destructible_constraint &&
5932
13.8k
           non_reference_constraint && movable_constraint;
5933
13.8k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5910
13.8k
{
5911
13.8k
    constexpr bool default_constructible_constraint =
5912
13.8k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
13.8k
    static_assert(default_constructible_constraint,
5914
13.8k
                  "Scan argument types must be default constructible");
5915
5916
13.8k
    constexpr bool destructible_constraint =
5917
13.8k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
13.8k
    static_assert(destructible_constraint,
5919
13.8k
                  "Scan argument types must be Destructible");
5920
5921
13.8k
    constexpr bool non_reference_constraint =
5922
13.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
13.8k
    static_assert(non_reference_constraint,
5924
13.8k
                  "Scan argument types must not be references");
5925
5926
13.8k
    constexpr bool movable_constraint =
5927
13.8k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
13.8k
    static_assert(movable_constraint,
5929
13.8k
                  "Scan argument types must be move constructible");
5930
5931
13.8k
    return default_constructible_constraint && destructible_constraint &&
5932
13.8k
           non_reference_constraint && movable_constraint;
5933
13.8k
}
5934
5935
enum class scan_arg_store_kind {
5936
    // only built-in types (no custom types), packed
5937
    builtin,
5938
5939
    packed,
5940
    unpacked
5941
};
5942
5943
template <typename Context, typename T>
5944
constexpr basic_scan_arg<Context> make_arg(T& value)
5945
{
5946
    check_scan_arg_types<T>();
5947
5948
    basic_scan_arg<Context> arg;
5949
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
    arg.m_value = make_value<Context>(value);
5951
    return arg;
5952
}
5953
5954
template <scan_arg_store_kind Kind,
5955
          typename Context,
5956
          arg_type,
5957
          typename T,
5958
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5959
constexpr void* make_arg(T& value)
5960
186k
{
5961
186k
    return make_value<Context>(value).ref_value;
5962
186k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)14, char, void>(char&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, double, void>(double&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)13, bool, void>(bool&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)17, void*, void>(void*&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)28, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)26, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5960
6.92k
{
5961
6.92k
    return make_value<Context>(value).ref_value;
5962
6.92k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)15, wchar_t, void>(wchar_t&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)19, double, void>(double&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)13, bool, void>(bool&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)17, void*, void>(void*&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)28, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)26, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5960
13.8k
{
5961
13.8k
    return make_value<Context>(value).ref_value;
5962
13.8k
}
5963
template <scan_arg_store_kind Kind,
5964
          typename Context,
5965
          arg_type,
5966
          typename T,
5967
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5968
constexpr arg_value make_arg(T& value)
5969
{
5970
    return make_value<Context>(value);
5971
}
5972
template <scan_arg_store_kind Kind,
5973
          typename Context,
5974
          arg_type,
5975
          typename T,
5976
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5977
constexpr basic_scan_arg<Context> make_arg(T&& value)
5978
{
5979
    return make_arg<Context>(SCN_FWD(value));
5980
}
5981
5982
template <typename Context>
5983
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5984
template <typename Context>
5985
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg);
5986
5987
template <typename Context>
5988
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg);
5989
template <typename Context>
5990
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg);
5991
5992
template <typename Visitor, typename Context>
5993
constexpr decltype(auto) visit_impl(Visitor&& vis,
5994
                                    basic_scan_arg<Context>& arg);
5995
}  // namespace detail
5996
5997
/**
5998
 * Type-erased scanning argument.
5999
 *
6000
 * Contains a pointer to the value contained in a `scan_arg_store`.
6001
 */
6002
template <typename Context>
6003
class basic_scan_arg {
6004
public:
6005
    /**
6006
     * Enables scanning of a user-defined type.
6007
     *
6008
     * Contains a pointer to the value contained in a `scan_arg_store`, and
6009
     * a callback for parsing the format string, and scanning the value.
6010
     *
6011
     * \see scn::visit_scan_arg
6012
     */
6013
    class handle {
6014
    public:
6015
        /**
6016
         * Parse the format string in `parse_ctx`, and scan the value from
6017
         * `ctx`.
6018
         *
6019
         * \return Any error returned by the scanner
6020
         */
6021
        scan_expected<void> scan(
6022
            typename Context::parse_context_type& parse_ctx,
6023
            Context& ctx) const
6024
0
        {
6025
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6026
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
6027
6028
    private:
6029
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
6030
6031
        template <typename Visitor, typename C>
6032
        friend constexpr decltype(auto) detail::visit_impl(
6033
            Visitor&& vis,
6034
            basic_scan_arg<C>& arg);
6035
6036
        detail::custom_value_type m_custom;
6037
    };
6038
6039
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
6040
59.4k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
6040
37.9k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
6040
21.4k
    constexpr basic_scan_arg() = default;
6041
6042
    /**
6043
     * @return `true` if `*this` contains an argument
6044
     */
6045
    constexpr explicit operator bool() const noexcept
6046
111k
    {
6047
111k
        return m_type != detail::arg_type::none_type;
6048
111k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
6046
71.9k
    {
6047
71.9k
        return m_type != detail::arg_type::none_type;
6048
71.9k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
6046
39.6k
    {
6047
39.6k
        return m_type != detail::arg_type::none_type;
6048
39.6k
    }
6049
6050
    /**
6051
     * Visit a `basic_scan_arg` with `Visitor`.
6052
     * Calls `vis` with the value stored in `*this`.
6053
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
6054
     *
6055
     * \return `vis(x)`, where `x` is either a reference to the value contained
6056
     * in `*this`, or a `basic_scan_arg::handle`.
6057
     */
6058
    template <typename Visitor>
6059
    constexpr decltype(auto) visit(Visitor&& vis);
6060
6061
    template <typename R, typename Visitor>
6062
    constexpr R visit(Visitor&& vis);
6063
6064
private:
6065
    template <typename ContextType, typename T>
6066
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
6067
6068
    template <typename C>
6069
    friend constexpr detail::arg_type& detail::get_arg_type(
6070
        basic_scan_arg<C>& arg);
6071
    template <typename C>
6072
    friend constexpr detail::arg_type detail::get_arg_type(
6073
        const basic_scan_arg<C>& arg);
6074
6075
    template <typename C>
6076
    friend constexpr detail::arg_value& detail::get_arg_value(
6077
        basic_scan_arg<C>& arg);
6078
    template <typename C>
6079
    friend constexpr detail::arg_value detail::get_arg_value(
6080
        const basic_scan_arg<C>& arg);
6081
6082
    friend class basic_scan_args<Context>;
6083
6084
    detail::arg_value m_value{};
6085
    detail::arg_type m_type{detail::arg_type::none_type};
6086
};
6087
6088
namespace detail {
6089
template <typename Context>
6090
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg)
6091
148k
{
6092
148k
    return arg.m_type;
6093
148k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6091
97.9k
{
6092
97.9k
    return arg.m_type;
6093
97.9k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6091
50.4k
{
6092
50.4k
    return arg.m_type;
6093
50.4k
}
6094
6095
template <typename Context>
6096
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg)
6097
{
6098
    return arg.m_type;
6099
}
6100
6101
template <typename Context>
6102
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
6103
52.1k
{
6104
52.1k
    return arg.m_value;
6105
52.1k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6103
33.9k
{
6104
33.9k
    return arg.m_value;
6105
33.9k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6103
18.1k
{
6104
18.1k
    return arg.m_value;
6105
18.1k
}
6106
6107
template <typename Context>
6108
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg)
6109
{
6110
    return arg.m_value;
6111
}
6112
6113
template <typename CharT>
6114
constexpr bool all_types_builtin()
6115
0
{
6116
0
    return true;
6117
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6118
template <typename CharT, typename T, typename... Args>
6119
constexpr bool all_types_builtin()
6120
0
{
6121
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6122
0
           all_types_builtin<CharT, Args...>();
6123
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
6124
6125
template <typename CharT, typename... Args>
6126
constexpr scan_arg_store_kind determine_arg_store_kind()
6127
0
{
6128
0
    if constexpr (sizeof...(Args) > max_packed_args) {
6129
0
        return scan_arg_store_kind::unpacked;
6130
0
    }
6131
0
#if !(SCN_CLANG && SCN_APPLE)
6132
0
    // This doesn't work on Apple Clang. I don't know why
6133
0
    if constexpr (all_types_builtin<CharT, Args...>()) {
6134
0
        return scan_arg_store_kind::builtin;
6135
0
    }
6136
0
#endif
6137
0
    return scan_arg_store_kind::packed;
6138
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
6139
6140
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6141
constexpr size_t compute_arg_store_desc()
6142
0
{
6143
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6144
0
        return encode_types<CharT, Args...>();
6145
0
    }
6146
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6147
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6148
0
    }
6149
0
    else {
6150
0
        return sizeof...(Args) | is_unpacked_bit;
6151
0
    }
6152
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
6153
6154
template <typename Context, typename... Args>
6155
class scan_arg_store {
6156
public:
6157
    static constexpr scan_arg_store_kind kind =
6158
        determine_arg_store_kind<typename Context::char_type, Args...>();
6159
    static constexpr size_t desc =
6160
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6161
6162
    using argptr_type = std::conditional_t<
6163
        kind == scan_arg_store_kind::builtin,
6164
        void*,
6165
        std::conditional_t<kind == scan_arg_store_kind::packed,
6166
                           arg_value,
6167
                           basic_scan_arg<Context>>>;
6168
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6169
6170
    constexpr explicit scan_arg_store(std::tuple<Args...>& args)
6171
186k
        : args(std::apply(make_argptrs<Args...>, args))
6172
186k
    {
6173
186k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>::scan_arg_store(std::__1::tuple<char>&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>::scan_arg_store(std::__1::tuple<bool>&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>::scan_arg_store(std::__1::tuple<void*>&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
6171
6.92k
        : args(std::apply(make_argptrs<Args...>, args))
6172
6.92k
    {
6173
6.92k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>::scan_arg_store(std::__1::tuple<wchar_t>&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>::scan_arg_store(std::__1::tuple<double>&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>::scan_arg_store(std::__1::tuple<bool>&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>::scan_arg_store(std::__1::tuple<void*>&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
6171
13.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
13.8k
    {
6173
13.8k
    }
6174
6175
    argptrs_type args;
6176
6177
private:
6178
    template <typename... A>
6179
    static constexpr argptrs_type make_argptrs(A&... args)
6180
186k
    {
6181
186k
        return {detail::make_arg<
6182
186k
            kind, Context,
6183
186k
            mapped_type_constant<remove_cvref_t<A>,
6184
186k
                                 typename Context::char_type>::value>(args)...};
6185
186k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>::make_argptrs<char>(char&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::make_argptrs<int>(int&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6180
6.92k
    {
6181
6.92k
        return {detail::make_arg<
6182
6.92k
            kind, Context,
6183
6.92k
            mapped_type_constant<remove_cvref_t<A>,
6184
6.92k
                                 typename Context::char_type>::value>(args)...};
6185
6.92k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6180
13.8k
    {
6181
13.8k
        return {detail::make_arg<
6182
13.8k
            kind, Context,
6183
13.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
13.8k
                                 typename Context::char_type>::value>(args)...};
6185
13.8k
    }
6186
};
6187
6188
}  // namespace detail
6189
6190
/**
6191
 * Creates a type-erased argument store over the arguments in `values`.
6192
 */
6193
template <typename Context = scan_context, typename... Args>
6194
constexpr auto make_scan_args(std::tuple<Args...>& values)
6195
186k
{
6196
186k
    detail::check_scan_arg_types<Args...>();
6197
186k
    return detail::scan_arg_store<Context, Args...>(values);
6198
186k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>(std::__1::tuple<char>&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(std::__1::tuple<int>&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>(std::__1::tuple<bool>&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>(std::__1::tuple<void*>&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
6195
6.92k
{
6196
6.92k
    detail::check_scan_arg_types<Args...>();
6197
6.92k
    return detail::scan_arg_store<Context, Args...>(values);
6198
6.92k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>(std::__1::tuple<wchar_t>&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(std::__1::tuple<int>&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>(std::__1::tuple<double>&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>(std::__1::tuple<bool>&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>(std::__1::tuple<void*>&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
6195
13.8k
{
6196
13.8k
    detail::check_scan_arg_types<Args...>();
6197
13.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
13.8k
}
6199
6200
template <typename... Args>
6201
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6202
{
6203
    detail::check_scan_arg_types<Args...>();
6204
    return detail::scan_arg_store<wscan_context, Args...>(values);
6205
}
6206
6207
/**
6208
 * A view over a collection of scanning arguments (`scan_arg_store`).
6209
 *
6210
 * Passed to `scn::vscan`, where it's automatically constructed from a
6211
 * `scan_arg_store`.
6212
 */
6213
template <typename Context>
6214
class basic_scan_args {
6215
public:
6216
0
    constexpr basic_scan_args() = default;
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
6217
6218
    template <typename... Args>
6219
    SCN_IMPLICIT constexpr basic_scan_args(
6220
        const detail::scan_arg_store<Context, Args...>& store)
6221
186k
        : basic_scan_args(store.desc, store.args.data())
6222
186k
    {
6223
186k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char> const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int> const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int> const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<bool>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool> const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<void*>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*> const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
Line
Count
Source
6221
6.92k
        : basic_scan_args(store.desc, store.args.data())
6222
6.92k
    {
6223
6.92k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<wchar_t>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t> const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int> const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int> const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double> const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<bool>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool> const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<void*>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*> const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
Line
Count
Source
6221
13.8k
        : basic_scan_args(store.desc, store.args.data())
6222
13.8k
    {
6223
13.8k
    }
6224
6225
    /**
6226
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6227
     * there's no argument at index `id`.
6228
     */
6229
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6230
59.4k
    {
6231
59.4k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
59.4k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
280
            return {};
6240
280
        }
6241
6242
59.1k
        const auto t = type(id);
6243
59.1k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
2.57k
            return {};
6245
2.57k
        }
6246
6247
56.5k
        basic_scan_arg<Context> arg;
6248
56.5k
        arg.m_type = t;
6249
56.5k
        if (is_only_builtin()) {
6250
56.5k
            arg.m_value.ref_value = m_builtin_values[id];
6251
56.5k
        }
6252
0
        else {
6253
0
            arg.m_value = m_values[id];
6254
0
        }
6255
56.5k
        return arg;
6256
59.1k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6230
37.9k
    {
6231
37.9k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
37.9k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
212
            return {};
6240
212
        }
6241
6242
37.7k
        const auto t = type(id);
6243
37.7k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
1.34k
            return {};
6245
1.34k
        }
6246
6247
36.4k
        basic_scan_arg<Context> arg;
6248
36.4k
        arg.m_type = t;
6249
36.4k
        if (is_only_builtin()) {
6250
36.4k
            arg.m_value.ref_value = m_builtin_values[id];
6251
36.4k
        }
6252
0
        else {
6253
0
            arg.m_value = m_values[id];
6254
0
        }
6255
36.4k
        return arg;
6256
37.7k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6230
21.4k
    {
6231
21.4k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
21.4k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
68
            return {};
6240
68
        }
6241
6242
21.3k
        const auto t = type(id);
6243
21.3k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
1.23k
            return {};
6245
1.23k
        }
6246
6247
20.1k
        basic_scan_arg<Context> arg;
6248
20.1k
        arg.m_type = t;
6249
20.1k
        if (is_only_builtin()) {
6250
20.1k
            arg.m_value.ref_value = m_builtin_values[id];
6251
20.1k
        }
6252
0
        else {
6253
0
            arg.m_value = m_values[id];
6254
0
        }
6255
20.1k
        return arg;
6256
21.3k
    }
6257
6258
    /**
6259
     * \return Number of arguments in `*this`.
6260
     */
6261
    SCN_NODISCARD constexpr std::size_t size() const
6262
186k
    {
6263
186k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
186k
        return static_cast<std::size_t>(m_desc &
6268
186k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
186k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6262
62.2k
    {
6263
62.2k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
62.2k
        return static_cast<std::size_t>(m_desc &
6268
62.2k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
62.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6262
124k
    {
6263
124k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
124k
        return static_cast<std::size_t>(m_desc &
6268
124k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
124k
    }
6270
6271
private:
6272
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6273
186k
        : m_desc(desc), m_builtin_values(data)
6274
186k
    {
6275
186k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6273
62.2k
        : m_desc(desc), m_builtin_values(data)
6274
62.2k
    {
6275
62.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6273
124k
        : m_desc(desc), m_builtin_values(data)
6274
124k
    {
6275
124k
    }
6276
    constexpr explicit basic_scan_args(size_t desc,
6277
                                       const detail::arg_value* data)
6278
        : m_desc(desc), m_values(data)
6279
    {
6280
    }
6281
    constexpr explicit basic_scan_args(size_t desc,
6282
                                       const basic_scan_arg<Context>* data)
6283
        : m_desc(desc), m_args(data)
6284
    {
6285
    }
6286
6287
    SCN_NODISCARD constexpr bool is_packed() const
6288
246k
    {
6289
246k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
246k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6288
100k
    {
6289
100k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
100k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6288
146k
    {
6289
146k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
146k
    }
6291
    SCN_NODISCARD constexpr bool is_only_builtin() const
6292
56.5k
    {
6293
56.5k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
56.5k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6292
36.4k
    {
6293
36.4k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
36.4k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6292
20.1k
    {
6293
20.1k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
20.1k
    }
6295
6296
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6297
59.1k
    {
6298
        // First (0th) index is size, types start after that
6299
59.1k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
59.1k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
59.1k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
59.1k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6297
37.7k
    {
6298
        // First (0th) index is size, types start after that
6299
37.7k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
37.7k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
37.7k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
37.7k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6297
21.3k
    {
6298
        // First (0th) index is size, types start after that
6299
21.3k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
21.3k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
21.3k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
21.3k
    }
6303
6304
    SCN_NODISCARD constexpr std::size_t max_size() const
6305
0
    {
6306
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6307
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6308
0
                                          ~detail::has_custom_types_bit);
6309
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6310
6311
    size_t m_desc{0};
6312
    union {
6313
        void* const* m_builtin_values;
6314
        const detail::arg_value* m_values;
6315
        const basic_scan_arg<Context>* m_args{nullptr};
6316
    };
6317
};
6318
6319
/////////////////////////////////////////////////////////////////
6320
// scan_parse_context
6321
/////////////////////////////////////////////////////////////////
6322
6323
template <typename T>
6324
struct source_tag_type {
6325
    using type = T;
6326
};
6327
template <typename T>
6328
inline constexpr auto source_tag = source_tag_type<T>{};
6329
6330
/**
6331
 * Format string parsing context, wrapping the format string being parsed,
6332
 * and a counter for argument indexing.
6333
 *
6334
 * \ingroup ctx
6335
 */
6336
template <typename CharT>
6337
class basic_scan_parse_context {
6338
public:
6339
    using char_type = CharT;
6340
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6341
    using const_iterator = iterator;
6342
6343
    /**
6344
     * Construct a `basic_scan_parse_context` over a format string `format`.
6345
     */
6346
    [[deprecated(
6347
        "Use the source_tag constructor instead,"
6348
        "to get more compile-time checking")]]
6349
    explicit constexpr basic_scan_parse_context(
6350
        std::basic_string_view<CharT> format,
6351
        int next_arg_id = 0)
6352
        : m_format{format}, m_next_arg_id{next_arg_id}
6353
    {
6354
    }
6355
6356
    template <typename Source>
6357
    explicit constexpr basic_scan_parse_context(
6358
        source_tag_type<Source>,
6359
        std::basic_string_view<CharT> format,
6360
        int next_arg_id = 0)
6361
186k
        : m_format{format},
6362
186k
          m_next_arg_id{next_arg_id},
6363
186k
          m_is_contiguous(ranges::range<Source> &&
6364
186k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
186k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
186k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
186k
    {
6369
186k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
62.2k
        : m_format{format},
6362
62.2k
          m_next_arg_id{next_arg_id},
6363
62.2k
          m_is_contiguous(ranges::range<Source> &&
6364
62.2k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
62.2k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
62.2k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
62.2k
    {
6369
62.2k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
124k
        : m_format{format},
6362
124k
          m_next_arg_id{next_arg_id},
6363
124k
          m_is_contiguous(ranges::range<Source> &&
6364
124k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
124k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
124k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
124k
    {
6369
124k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
6370
6371
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6372
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6373
        delete;
6374
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6375
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6376
    ~basic_scan_parse_context() = default;
6377
6378
    /// Returns an iterator pointing to the beginning of the format string
6379
    constexpr auto begin() const noexcept
6380
89.8k
    {
6381
89.8k
        return m_format.data();
6382
89.8k
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6380
60.4k
    {
6381
60.4k
        return m_format.data();
6382
60.4k
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6380
29.4k
    {
6381
29.4k
        return m_format.data();
6382
29.4k
    }
6383
    /// Returns an iterator pointing to the end of the format string
6384
    constexpr auto end() const noexcept
6385
    {
6386
        return m_format.data() + m_format.size();
6387
    }
6388
6389
    /// Advance the beginning of the format string to `it`
6390
    constexpr void advance_to(iterator it)
6391
41.6k
    {
6392
41.6k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
41.6k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6391
28.4k
    {
6392
28.4k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
28.4k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6391
13.2k
    {
6392
13.2k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
13.2k
    }
6394
6395
    constexpr size_t next_arg_id()
6396
57.1k
    {
6397
57.1k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
206
            on_error(
6399
206
                "Cannot switch from manual to automatic argument indexing");
6400
206
            return 0;
6401
206
        }
6402
6403
56.9k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
56.9k
        do_check_arg_id(id);
6405
56.9k
        return id;
6406
57.1k
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6396
37.3k
    {
6397
37.3k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
42
            on_error(
6399
42
                "Cannot switch from manual to automatic argument indexing");
6400
42
            return 0;
6401
42
        }
6402
6403
37.3k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
37.3k
        do_check_arg_id(id);
6405
37.3k
        return id;
6406
37.3k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6396
19.7k
    {
6397
19.7k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
164
            on_error(
6399
164
                "Cannot switch from manual to automatic argument indexing");
6400
164
            return 0;
6401
164
        }
6402
6403
19.5k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
19.5k
        do_check_arg_id(id);
6405
19.5k
        return id;
6406
19.7k
    }
6407
6408
    constexpr void check_arg_id(std::size_t id)
6409
2.41k
    {
6410
2.41k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6411
148
            on_error(
6412
148
                "Cannot switch from manual to automatic argument indexing");
6413
148
            return;
6414
148
        }
6415
2.26k
        m_next_arg_id = -1;
6416
2.26k
        do_check_arg_id(id);
6417
2.26k
    }
scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
6409
682
    {
6410
682
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6411
70
            on_error(
6412
70
                "Cannot switch from manual to automatic argument indexing");
6413
70
            return;
6414
70
        }
6415
612
        m_next_arg_id = -1;
6416
612
        do_check_arg_id(id);
6417
612
    }
scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
6409
1.73k
    {
6410
1.73k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6411
78
            on_error(
6412
78
                "Cannot switch from manual to automatic argument indexing");
6413
78
            return;
6414
78
        }
6415
1.65k
        m_next_arg_id = -1;
6416
1.65k
        do_check_arg_id(id);
6417
1.65k
    }
6418
6419
    /**
6420
     * Fail format string parsing with the message `msg`.
6421
     * Calling this member function is not a constant expression,
6422
     * causing a compile-time error, if compile-time format string checking is
6423
     * enabled.
6424
     */
6425
    scan_error on_error(const char* msg)
6426
354
    {
6427
354
        m_error = unexpected(detail::handle_error(
6428
354
            scan_error{scan_error::invalid_format_string, msg}));
6429
354
        return m_error.error();
6430
354
    }
scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Line
Count
Source
6426
112
    {
6427
112
        m_error = unexpected(detail::handle_error(
6428
112
            scan_error{scan_error::invalid_format_string, msg}));
6429
112
        return m_error.error();
6430
112
    }
scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
Line
Count
Source
6426
242
    {
6427
242
        m_error = unexpected(detail::handle_error(
6428
242
            scan_error{scan_error::invalid_format_string, msg}));
6429
242
        return m_error.error();
6430
242
    }
6431
6432
    scan_expected<void> get_error()
6433
    {
6434
        return m_error;
6435
    }
6436
6437
    [[nodiscard]] constexpr bool is_source_contiguous() const
6438
    {
6439
        return m_is_contiguous;
6440
    }
6441
6442
    [[nodiscard]] constexpr bool is_source_borrowed() const
6443
    {
6444
        return m_is_borrowed;
6445
    }
6446
6447
protected:
6448
    constexpr void do_check_arg_id(size_t id);
6449
6450
    std::basic_string_view<CharT> m_format;
6451
    scan_expected<void> m_error{};
6452
    int m_next_arg_id{0};
6453
    bool m_is_contiguous{false}, m_is_borrowed{false};
6454
};
6455
6456
/////////////////////////////////////////////////////////////////
6457
// Result types
6458
/////////////////////////////////////////////////////////////////
6459
6460
namespace detail {
6461
template <typename... Args>
6462
struct scan_result_value_storage {
6463
public:
6464
    using tuple_type = std::tuple<Args...>;
6465
6466
186k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<char>::scan_result_value_storage()
Line
Count
Source
6466
6.92k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<int>::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<bool>::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<void*>::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage()
Line
Count
Source
6466
20.7k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage()
Line
Count
Source
6466
6.92k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage()
Line
Count
Source
6466
13.8k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage()
Line
Count
Source
6466
13.8k
    constexpr scan_result_value_storage() = default;
6467
6468
    constexpr scan_result_value_storage(tuple_type&& values)
6469
        : m_values(SCN_MOVE(values))
6470
    {
6471
    }
6472
6473
    /// Access the scanned values
6474
    tuple_type& values() &
6475
186k
    {
6476
186k
        return m_values;
6477
186k
    }
scn::v4::detail::scan_result_value_storage<char>::values() &
Line
Count
Source
6475
6.92k
    {
6476
6.92k
        return m_values;
6477
6.92k
    }
scn::v4::detail::scan_result_value_storage<int>::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<unsigned int>::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<double>::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<bool>::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<void*>::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::values() &
Line
Count
Source
6475
20.7k
    {
6476
20.7k
        return m_values;
6477
20.7k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::values() &
Line
Count
Source
6475
6.92k
    {
6476
6.92k
        return m_values;
6477
6.92k
    }
scn::v4::detail::scan_result_value_storage<wchar_t>::values() &
Line
Count
Source
6475
13.8k
    {
6476
13.8k
        return m_values;
6477
13.8k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::values() &
Line
Count
Source
6475
13.8k
    {
6476
13.8k
        return m_values;
6477
13.8k
    }
6478
    /// Access the scanned values
6479
    const tuple_type& values() const&
6480
    {
6481
        return m_values;
6482
    }
6483
    /// Access the scanned values
6484
    tuple_type&& values() &&
6485
    {
6486
        return SCN_MOVE(m_values);
6487
    }
6488
    /// Access the scanned values
6489
    const tuple_type&& values() const&&
6490
    {
6491
        return SCN_MOVE(m_values);
6492
    }
6493
6494
    /// Access the single scanned value
6495
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6496
    decltype(auto) value() &
6497
0
    {
6498
0
        return std::get<0>(m_values);
6499
0
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6500
    /// Access the single scanned value
6501
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6502
    decltype(auto) value() const&
6503
    {
6504
        return std::get<0>(m_values);
6505
    }
6506
    /// Access the single scanned value
6507
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6508
    decltype(auto) value() &&
6509
    {
6510
        return SCN_MOVE(std::get<0>(m_values));
6511
    }
6512
    /// Access the single scanned value
6513
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6514
    decltype(auto) value() const&&
6515
    {
6516
        return SCN_MOVE(std::get<0>(m_values));
6517
    }
6518
6519
private:
6520
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6521
};
6522
6523
struct scan_result_convert_tag {};
6524
6525
template <typename Range>
6526
struct scan_result_range_storage {
6527
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6528
                  "scan_result<Range> accepts only subranges as Ranges");
6529
6530
public:
6531
    using range_type = Range;
6532
    using iterator = ranges::iterator_t<Range>;
6533
    using sentinel = ranges::sentinel_t<Range>;
6534
6535
186k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6535
62.2k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6535
124k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6536
6537
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6538
    {
6539
    }
6540
6541
    template <typename R>
6542
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6543
        : m_range(SCN_MOVE(r))
6544
    {
6545
    }
6546
6547
    /// Access the ununsed source range
6548
    range_type range() const
6549
    {
6550
        return m_range;
6551
    }
6552
6553
    /// The beginning of the unused source range
6554
    auto begin() const
6555
0
    {
6556
0
        return ranges::begin(m_range);
6557
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6558
    /// The end of the unused source range
6559
    auto end() const
6560
0
    {
6561
0
        return ranges::end(m_range);
6562
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6563
6564
    template <typename Other>
6565
    void set_range(Other&& r)
6566
4.83k
    {
6567
4.83k
        m_range = std::forward<Other>(r);
6568
4.83k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6566
2.68k
    {
6567
2.68k
        m_range = std::forward<Other>(r);
6568
2.68k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6566
2.15k
    {
6567
2.15k
        m_range = std::forward<Other>(r);
6568
2.15k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6569
6570
protected:
6571
    template <typename Other>
6572
    void assign_range(Other&& r)
6573
    {
6574
        m_range = r.m_range;
6575
    }
6576
6577
private:
6578
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6579
};
6580
6581
struct scan_result_file_storage {
6582
public:
6583
    using range_type = std::FILE*;
6584
6585
    constexpr scan_result_file_storage() = default;
6586
6587
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6588
6589
    /// File used for scanning
6590
    std::FILE* file() const
6591
0
    {
6592
0
        return m_file;
6593
0
    }
6594
6595
    void set_range(std::FILE* f)
6596
0
    {
6597
0
        m_file = f;
6598
0
    }
6599
6600
protected:
6601
    void assign_range(const scan_result_file_storage& f)
6602
0
    {
6603
0
        m_file = f.m_file;
6604
0
    }
6605
6606
private:
6607
    std::FILE* m_file{nullptr};
6608
};
6609
6610
struct scan_result_dangling {
6611
    using range_type = ranges::dangling;
6612
6613
    constexpr scan_result_dangling() = default;
6614
6615
    template <typename... Args>
6616
    explicit constexpr scan_result_dangling(Args&&...)
6617
    {
6618
    }
6619
6620
    range_type range() const
6621
0
    {
6622
0
        return {};
6623
0
    }
6624
6625
    ranges::dangling begin() const
6626
0
    {
6627
0
        return {};
6628
0
    }
6629
    ranges::dangling end() const
6630
0
    {
6631
0
        return {};
6632
0
    }
6633
6634
    template <typename... Args>
6635
    void set_range(Args&&...)
6636
    {
6637
    }
6638
6639
protected:
6640
    template <typename... Args>
6641
    void assign_range(Args&&...)
6642
    {
6643
    }
6644
};
6645
6646
template <typename Range>
6647
constexpr auto get_scan_result_base()
6648
0
{
6649
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6650
0
        return type_identity<scan_result_dangling>{};
6651
0
    }
6652
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6653
0
        return type_identity<scan_result_file_storage>{};
6654
0
    }
6655
0
    else {
6656
0
        return type_identity<scan_result_range_storage<Range>>{};
6657
0
    }
6658
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6659
6660
#if !SCN_DOXYGEN
6661
template <typename Range>
6662
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6663
#else
6664
template <typename Range>
6665
using scan_result_base = scan_result_range_storage<Range>;
6666
#endif
6667
}  // namespace detail
6668
6669
/**
6670
 * \defgroup result Result types
6671
 *
6672
 * \brief Result and error types
6673
 *
6674
 * Instead of using exceptions, `scn::scan` and others return an object of
6675
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6676
 */
6677
6678
/**
6679
 * Type returned by `scan`, contains the unused input as a subrange, and the
6680
 * scanned values in a tuple.
6681
 */
6682
template <typename Range, typename... Args>
6683
class scan_result : public detail::scan_result_base<Range>,
6684
                    public detail::scan_result_value_storage<Args...> {
6685
    using range_base = detail::scan_result_base<Range>;
6686
    using value_base = detail::scan_result_value_storage<Args...>;
6687
6688
public:
6689
    using range_type = typename range_base::range_type;
6690
    using tuple_type = typename value_base::tuple_type;
6691
6692
186k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result()
Line
Count
Source
6692
6.92k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result()
Line
Count
Source
6692
13.8k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6693
6694
    constexpr scan_result(const scan_result&) = default;
6695
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6696
    constexpr scan_result& operator=(const scan_result&) = default;
6697
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6698
6699
41.5k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
6699
6.92k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
6699
6.92k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
6699
13.8k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
6699
13.8k
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6700
6701
    scan_result(range_type r, tuple_type&& values)
6702
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6703
    {
6704
    }
6705
6706
    template <typename OtherR,
6707
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6708
                  nullptr>
6709
    scan_result(OtherR&& r, tuple_type&& values)
6710
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6711
          value_base(SCN_MOVE(values))
6712
    {
6713
    }
6714
6715
    template <typename OtherR,
6716
              std::enable_if_t<
6717
                  std::is_constructible_v<range_type, OtherR> &&
6718
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6719
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6720
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6721
          value_base(o.values())
6722
    {
6723
    }
6724
    template <typename OtherR,
6725
              std::enable_if_t<
6726
                  std::is_constructible_v<range_type, OtherR> &&
6727
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6728
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6729
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6730
          value_base(o.values())
6731
    {
6732
    }
6733
6734
    template <typename OtherR,
6735
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6736
                               std::is_convertible_v<OtherR&&, range_type>>* =
6737
                  nullptr>
6738
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6739
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6740
          value_base(SCN_MOVE(o.values()))
6741
    {
6742
    }
6743
    template <typename OtherR,
6744
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6745
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6746
                  nullptr>
6747
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6748
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6749
          value_base(SCN_MOVE(o.values()))
6750
    {
6751
    }
6752
6753
    template <typename OtherR,
6754
              typename =
6755
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6756
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6757
    {
6758
        this->assign_range(o);
6759
        this->values() = o.values();
6760
        return *this;
6761
    }
6762
6763
    template <typename OtherR,
6764
              typename =
6765
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6766
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6767
    {
6768
        this->assign_range(o);
6769
        this->values() = SCN_MOVE(o.values());
6770
        return *this;
6771
    }
6772
};
6773
6774
template <typename R, typename... Args>
6775
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6776
template <typename R, typename Ctx, typename... Args>
6777
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6778
    -> scan_result<R, Args...>;
6779
6780
namespace detail {
6781
template <typename SourceRange>
6782
auto make_vscan_result_range_end(SourceRange& source)
6783
4.83k
{
6784
4.83k
    return ranges::end(source);
6785
4.83k
}
auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6783
2.68k
{
6784
2.68k
    return ranges::end(source);
6785
2.68k
}
auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6783
2.15k
{
6784
2.15k
    return ranges::end(source);
6785
2.15k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
6786
template <typename CharT, size_t N>
6787
auto make_vscan_result_range_end(CharT (&source)[N])
6788
    -> ranges::sentinel_t<CharT (&)[N]>
6789
{
6790
    return source + N - 1;
6791
}
6792
6793
template <typename SourceRange>
6794
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6795
    -> borrowed_tail_subrange_t<SourceRange>
6796
4.83k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
4.83k
                      ranges::iterator_t<SourceRange>>) {
6799
4.83k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
0
    else {
6802
0
        auto it = ranges::begin(source);
6803
0
        while (n > 0) {
6804
0
            --n;
6805
0
            ++it;
6806
0
        }
6807
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
0
    }
6809
4.83k
}
_ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
6796
2.68k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
2.68k
                      ranges::iterator_t<SourceRange>>) {
6799
2.68k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
2.68k
}
_ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
6796
2.15k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
2.15k
                      ranges::iterator_t<SourceRange>>) {
6799
2.15k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
2.15k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
6810
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6811
0
{
6812
0
    return source;
6813
0
}
6814
}  // namespace detail
6815
6816
/////////////////////////////////////////////////////////////////
6817
// Format string parsing
6818
/////////////////////////////////////////////////////////////////
6819
6820
namespace detail {
6821
/// Parse context with extra data used only for compile-time checks
6822
template <typename CharT>
6823
class compile_parse_context : public basic_scan_parse_context<CharT> {
6824
    using base = basic_scan_parse_context<CharT>;
6825
6826
public:
6827
    template <typename Source>
6828
    explicit constexpr compile_parse_context(
6829
        source_tag_type<Source>,
6830
        std::basic_string_view<CharT> format_str,
6831
        int num_args,
6832
        const arg_type* types,
6833
        int next_arg_id = 0)
6834
        : base(source_tag<Source>, format_str, next_arg_id),
6835
          m_num_args(num_args),
6836
          m_types(types)
6837
    {
6838
    }
6839
6840
    SCN_NODISCARD constexpr int get_num_args() const
6841
0
    {
6842
0
        return m_num_args;
6843
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6844
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6845
    {
6846
        return m_types[id];
6847
    }
6848
6849
    SCN_GCC_PUSH
6850
    SCN_GCC_IGNORE("-Wsign-conversion")
6851
6852
    constexpr std::size_t next_arg_id()
6853
    {
6854
        auto id = base::next_arg_id();
6855
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6856
            this->on_error("Argument not found");
6857
        }
6858
        return id;
6859
    }
6860
6861
    constexpr void check_arg_id(std::size_t id)
6862
    {
6863
        base::check_arg_id(id);
6864
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6865
            this->on_error("Argument not found");
6866
        }
6867
    }
6868
    using base::check_arg_id;
6869
6870
private:
6871
    int m_num_args;
6872
    const arg_type* m_types;
6873
6874
    SCN_GCC_POP  // -Wsign-conversion
6875
};
6876
6877
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6878
0
{
6879
0
#ifdef __cpp_lib_is_constant_evaluated
6880
0
    SCN_UNUSED(default_value);
6881
0
    return std::is_constant_evaluated();
6882
0
#else
6883
0
    return default_value;
6884
0
#endif
6885
0
}
6886
}  // namespace detail
6887
6888
template <typename CharT>
6889
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6890
59.1k
{
6891
59.1k
    if (detail::is_constant_evaluated() &&
6892
59.1k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
59.1k
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6890
37.9k
{
6891
37.9k
    if (detail::is_constant_evaluated() &&
6892
37.9k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
37.9k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6890
21.2k
{
6891
21.2k
    if (detail::is_constant_evaluated() &&
6892
21.2k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
21.2k
}
6902
6903
namespace detail {
6904
enum class align_type : unsigned char {
6905
    none = 0,
6906
    left = 1,   // '<'
6907
    right = 2,  // '>'
6908
    center = 3  // '^'
6909
};
6910
6911
enum class presentation_type {
6912
    none,
6913
    int_binary,            // 'b', 'B'
6914
    int_decimal,           // 'd'
6915
    int_generic,           // 'i'
6916
    int_unsigned_decimal,  // 'u'
6917
    int_octal,             // 'o'
6918
    int_hex,               // 'x', 'X'
6919
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6920
    float_hex,             // 'a', 'A'
6921
    float_scientific,      // 'e', 'E'
6922
    float_fixed,           // 'f', 'F'
6923
    float_general,         // 'g', 'G'
6924
    string,                // 's'
6925
    string_set,            // '[...]'
6926
    regex,                 // '/.../.'
6927
    regex_escaped,         // '/..\/../.'
6928
    character,             // 'c'
6929
    escaped_character,     // '?'
6930
    pointer,               // 'p'
6931
};
6932
6933
enum class regex_flags {
6934
    none = 0,
6935
    multiline = 1,   // /m
6936
    singleline = 2,  // /s
6937
    nocase = 4,      // /i
6938
    nocapture = 8,   // /n
6939
    // TODO?
6940
    // would probably need to go hand-in-hand with locale,
6941
    // where it could even be the default/only option -> no flag?
6942
    // why else would you even use locale with a regex?
6943
    // collate = 16,
6944
};
6945
6946
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6947
2.08k
{
6948
2.08k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6949
2.08k
                                    static_cast<unsigned>(b));
6950
2.08k
}
6951
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6952
222
{
6953
222
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6954
222
                                    static_cast<unsigned>(b));
6955
222
}
6956
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6957
0
{
6958
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6959
0
                                    static_cast<unsigned>(b));
6960
0
}
6961
6962
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6963
0
{
6964
0
    return a = a & b;
6965
0
}
6966
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6967
222
{
6968
222
    return a = a | b;
6969
222
}
6970
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6971
0
{
6972
0
    return a = a ^ b;
6973
0
}
6974
6975
class fill_type {
6976
public:
6977
    constexpr void operator=(char c)
6978
0
    {
6979
0
        m_data[0] = c;
6980
0
        m_size = 1;
6981
0
    }
6982
6983
    template <typename CharT>
6984
    constexpr void operator=(std::basic_string_view<CharT> s)
6985
5.09k
    {
6986
5.09k
        SCN_EXPECT(!s.empty());
6987
5.09k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6988
5.09k
        if constexpr (sizeof(CharT) == 1) {
6989
9.41k
            for (size_t i = 0; i < s.size(); ++i) {
6990
6.81k
                SCN_GCC_PUSH
6991
6.81k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6992
6.81k
                m_data[i] = s[i];
6993
6.81k
                SCN_GCC_POP
6994
6.81k
            }
6995
2.60k
            m_size = static_cast<unsigned char>(s.size());
6996
        }
6997
        else if constexpr (sizeof(CharT) == 2) {
6998
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6999
            m_data[1] =
7000
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7001
            if (s.size() == 1) {
7002
                return;
7003
            }
7004
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7005
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7006
        }
7007
2.49k
        else {
7008
2.49k
            const auto front = static_cast<unsigned>(s.front());
7009
2.49k
            m_data[0] = static_cast<char>(front);
7010
2.49k
            m_data[1] = static_cast<char>(front >> 8);
7011
2.49k
            m_data[2] = static_cast<char>(front >> 16);
7012
2.49k
            m_data[3] = static_cast<char>(front >> 24);
7013
2.49k
        }
7014
5.09k
    }
void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6985
2.60k
    {
6986
2.60k
        SCN_EXPECT(!s.empty());
6987
2.60k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6988
2.60k
        if constexpr (sizeof(CharT) == 1) {
6989
9.41k
            for (size_t i = 0; i < s.size(); ++i) {
6990
6.81k
                SCN_GCC_PUSH
6991
6.81k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6992
6.81k
                m_data[i] = s[i];
6993
6.81k
                SCN_GCC_POP
6994
6.81k
            }
6995
2.60k
            m_size = static_cast<unsigned char>(s.size());
6996
        }
6997
        else if constexpr (sizeof(CharT) == 2) {
6998
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6999
            m_data[1] =
7000
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7001
            if (s.size() == 1) {
7002
                return;
7003
            }
7004
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7005
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7006
        }
7007
        else {
7008
            const auto front = static_cast<unsigned>(s.front());
7009
            m_data[0] = static_cast<char>(front);
7010
            m_data[1] = static_cast<char>(front >> 8);
7011
            m_data[2] = static_cast<char>(front >> 16);
7012
            m_data[3] = static_cast<char>(front >> 24);
7013
        }
7014
2.60k
    }
void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6985
2.49k
    {
6986
2.49k
        SCN_EXPECT(!s.empty());
6987
2.49k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6988
        if constexpr (sizeof(CharT) == 1) {
6989
            for (size_t i = 0; i < s.size(); ++i) {
6990
                SCN_GCC_PUSH
6991
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6992
                m_data[i] = s[i];
6993
                SCN_GCC_POP
6994
            }
6995
            m_size = static_cast<unsigned char>(s.size());
6996
        }
6997
        else if constexpr (sizeof(CharT) == 2) {
6998
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6999
            m_data[1] =
7000
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7001
            if (s.size() == 1) {
7002
                return;
7003
            }
7004
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7005
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7006
        }
7007
2.49k
        else {
7008
2.49k
            const auto front = static_cast<unsigned>(s.front());
7009
2.49k
            m_data[0] = static_cast<char>(front);
7010
2.49k
            m_data[1] = static_cast<char>(front >> 8);
7011
2.49k
            m_data[2] = static_cast<char>(front >> 16);
7012
2.49k
            m_data[3] = static_cast<char>(front >> 24);
7013
2.49k
        }
7014
2.49k
    }
7015
7016
    constexpr size_t size() const
7017
5.20k
    {
7018
5.20k
        return m_size;
7019
5.20k
    }
7020
7021
    template <typename CharT>
7022
    CharT get_code_unit() const
7023
3.49k
    {
7024
3.49k
        SCN_EXPECT(m_size <= sizeof(CharT));
7025
3.49k
        CharT r{};
7026
3.49k
        std::memcpy(&r, m_data, m_size);
7027
3.49k
        return r;
7028
3.49k
    }
char scn::v4::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
7023
1.37k
    {
7024
1.37k
        SCN_EXPECT(m_size <= sizeof(CharT));
7025
1.37k
        CharT r{};
7026
1.37k
        std::memcpy(&r, m_data, m_size);
7027
1.37k
        return r;
7028
1.37k
    }
wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
Line
Count
Source
7023
2.11k
    {
7024
2.11k
        SCN_EXPECT(m_size <= sizeof(CharT));
7025
2.11k
        CharT r{};
7026
2.11k
        std::memcpy(&r, m_data, m_size);
7027
2.11k
        return r;
7028
2.11k
    }
7029
7030
    template <typename CharT>
7031
    std::basic_string_view<CharT> get_code_units() const
7032
1.71k
    {
7033
1.71k
        return {reinterpret_cast<const CharT*>(m_data), m_size};
7034
1.71k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Line
Count
Source
7032
1.71k
    {
7033
1.71k
        return {reinterpret_cast<const CharT*>(m_data), m_size};
7034
1.71k
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
7035
7036
private:
7037
    static constexpr size_t max_size = 4;
7038
    char m_data[max_size] = {' '};
7039
    unsigned char m_size{1};
7040
};
7041
7042
struct format_specs {
7043
    int width{0}, precision{0};
7044
    fill_type fill{};
7045
    presentation_type type{presentation_type::none};
7046
    std::array<uint8_t, 128 / 8> charset_literals{0};
7047
    bool charset_has_nonascii{false}, charset_is_inverted{false};
7048
    const void* charset_string_data{nullptr};
7049
    size_t charset_string_size{0};
7050
    regex_flags regexp_flags{regex_flags::none};
7051
    unsigned char arbitrary_base{0};
7052
    align_type align{align_type::none};
7053
    bool localized{false};
7054
7055
    constexpr format_specs() = default;
7056
7057
    SCN_NODISCARD constexpr int get_base() const
7058
5.40k
    {
7059
5.40k
        SCN_GCC_COMPAT_PUSH
7060
5.40k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
7061
5.40k
        switch (type) {
7062
2.50k
            case presentation_type::none:
7063
2.50k
                return 10;
7064
112
            case presentation_type::int_generic:
7065
112
                return 0;
7066
0
            case presentation_type::int_arbitrary_base:
7067
0
                return arbitrary_base;
7068
7069
88
            case presentation_type::int_binary:
7070
88
                return 2;
7071
102
            case presentation_type::int_octal:
7072
102
                return 8;
7073
40
            case presentation_type::int_decimal:
7074
110
            case presentation_type::int_unsigned_decimal:
7075
110
                return 10;
7076
2.49k
            case presentation_type::int_hex:
7077
2.49k
                return 16;
7078
7079
0
            default:
7080
0
                SCN_EXPECT(false);
7081
5.40k
                SCN_UNREACHABLE;
7082
5.40k
        }
7083
5.40k
        SCN_GCC_COMPAT_POP
7084
5.40k
    }
7085
7086
    template <typename CharT>
7087
    std::basic_string_view<CharT> charset_string() const
7088
6.31k
    {
7089
6.31k
        return {reinterpret_cast<const CharT*>(charset_string_data),
7090
6.31k
                charset_string_size};
7091
6.31k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Line
Count
Source
7088
5.38k
    {
7089
5.38k
        return {reinterpret_cast<const CharT*>(charset_string_data),
7090
5.38k
                charset_string_size};
7091
5.38k
    }
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
Line
Count
Source
7088
930
    {
7089
930
        return {reinterpret_cast<const CharT*>(charset_string_data),
7090
930
                charset_string_size};
7091
930
    }
7092
};
7093
7094
struct specs_setter {
7095
public:
7096
48.1k
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7097
7098
    constexpr void on_align(align_type align)
7099
8.57k
    {
7100
8.57k
        m_specs.align = align;
7101
8.57k
    }
7102
    template <typename CharT>
7103
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7104
5.09k
    {
7105
5.09k
        m_specs.fill = fill;
7106
5.09k
    }
void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7104
2.60k
    {
7105
2.60k
        m_specs.fill = fill;
7106
2.60k
    }
void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7104
2.49k
    {
7105
2.49k
        m_specs.fill = fill;
7106
2.49k
    }
7107
    template <bool Dependent = true>
7108
    constexpr void on_localized()
7109
512
    {
7110
512
        if constexpr (!SCN_DISABLE_LOCALE) {
7111
512
            m_specs.localized = true;
7112
        }
7113
        else {
7114
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7115
        }
7116
512
    }
7117
7118
    constexpr void on_width(int width)
7119
8.66k
    {
7120
8.66k
        if (m_specs.precision != 0 && width > m_specs.precision) {
7121
            // clang-format off
7122
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7123
            // clang-format on
7124
0
        }
7125
7126
8.66k
        m_specs.width = width;
7127
8.66k
    }
7128
    constexpr void on_precision(int prec)
7129
17.6k
    {
7130
17.6k
        if (m_specs.width > prec) {
7131
            // clang-format off
7132
68
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7133
            // clang-format on
7134
68
        }
7135
7136
17.5k
        m_specs.precision = prec;
7137
17.5k
    }
7138
7139
    constexpr void on_type(presentation_type type)
7140
56.0k
    {
7141
56.0k
        m_specs.type = type;
7142
56.0k
    }
7143
7144
    constexpr void on_charset_single(char32_t cp)
7145
2.41M
    {
7146
2.41M
        const auto cp_value = static_cast<unsigned>(cp);
7147
2.41M
        if (SCN_LIKELY(cp_value <= 127)) {
7148
1.98M
            m_specs.charset_literals[cp_value / 8] |=
7149
1.98M
                static_cast<unsigned char>(1ul << (cp_value % 8));
7150
1.98M
        }
7151
438k
        else {
7152
438k
            m_specs.charset_has_nonascii = true;
7153
438k
        }
7154
2.41M
    }
7155
7156
    constexpr void on_charset_range(char32_t begin, char32_t end)
7157
16.5k
    {
7158
16.5k
        const auto begin_value = static_cast<unsigned>(begin);
7159
16.5k
        const auto end_value = static_cast<unsigned>(end);
7160
16.5k
        SCN_EXPECT(begin_value < end_value);
7161
7162
16.5k
        if (SCN_LIKELY(end_value <= 127)) {
7163
            // No need to bit-twiddle with a mask, because with the
7164
            // SCN_ASSUME, -O3 will optimize this to a single operation
7165
8.30k
            SCN_ASSUME(begin_value < end_value);
7166
532k
            for (auto v = begin_value; v != end_value; ++v) {
7167
524k
                m_specs.charset_literals[v / 8] |=
7168
524k
                    static_cast<unsigned char>(1ul << (v % 8));
7169
524k
            }
7170
8.30k
        }
7171
8.29k
        else {
7172
8.29k
            m_specs.charset_has_nonascii = true;
7173
8.29k
        }
7174
16.5k
    }
7175
7176
    constexpr void on_charset_inverted()
7177
4.81k
    {
7178
4.81k
        m_specs.charset_is_inverted = true;
7179
4.81k
    }
7180
7181
    template <typename CharT>
7182
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7183
18.3k
    {
7184
18.3k
        m_specs.charset_string_data = fmt.data();
7185
18.3k
        m_specs.charset_string_size = fmt.size();
7186
18.3k
        on_type(presentation_type::string_set);
7187
18.3k
    }
void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7183
14.3k
    {
7184
14.3k
        m_specs.charset_string_data = fmt.data();
7185
14.3k
        m_specs.charset_string_size = fmt.size();
7186
14.3k
        on_type(presentation_type::string_set);
7187
14.3k
    }
void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7183
4.02k
    {
7184
4.02k
        m_specs.charset_string_data = fmt.data();
7185
4.02k
        m_specs.charset_string_size = fmt.size();
7186
4.02k
        on_type(presentation_type::string_set);
7187
4.02k
    }
7188
7189
    template <typename CharT>
7190
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7191
4.03k
    {
7192
4.03k
        m_specs.charset_string_data = pattern.data();
7193
4.03k
        m_specs.charset_string_size = pattern.size();
7194
4.03k
    }
void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7191
4.03k
    {
7192
4.03k
        m_specs.charset_string_data = pattern.data();
7193
4.03k
        m_specs.charset_string_size = pattern.size();
7194
4.03k
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7195
    constexpr void on_regex_flags(regex_flags flags)
7196
3.90k
    {
7197
3.90k
        m_specs.regexp_flags = flags;
7198
3.90k
    }
7199
7200
    // Intentionally not constexpr to get a compiler-time error when called
7201
    /*not-constexpr*/ void on_error(const char* msg)
7202
10.8k
    {
7203
10.8k
        SCN_UNLIKELY_ATTR
7204
10.8k
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7205
10.8k
    }
7206
    /*not-constexpr*/ void on_error(scan_error err)
7207
0
    {
7208
0
        SCN_UNLIKELY_ATTR
7209
0
        m_error = unexpected(err);
7210
0
    }
7211
7212
    constexpr scan_expected<void> get_error() const
7213
2.49M
    {
7214
2.49M
        return m_error;
7215
2.49M
    }
7216
7217
protected:
7218
    format_specs& m_specs;
7219
    scan_expected<void> m_error;
7220
};
7221
7222
template <typename CharT>
7223
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7224
27.4k
{
7225
27.4k
    SCN_EXPECT(begin != end);
7226
27.4k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7227
7228
27.4k
    unsigned long long value = 0;
7229
48.2k
    do {
7230
48.2k
        value *= 10;
7231
48.2k
        value += static_cast<unsigned long long>(*begin - '0');
7232
48.2k
        if (value >
7233
48.2k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7234
218
            return -1;
7235
218
        }
7236
48.0k
        ++begin;
7237
48.0k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7238
27.2k
    return static_cast<int>(value);
7239
27.4k
}
int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
7224
16.2k
{
7225
16.2k
    SCN_EXPECT(begin != end);
7226
16.2k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7227
7228
16.2k
    unsigned long long value = 0;
7229
31.6k
    do {
7230
31.6k
        value *= 10;
7231
31.6k
        value += static_cast<unsigned long long>(*begin - '0');
7232
31.6k
        if (value >
7233
31.6k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7234
116
            return -1;
7235
116
        }
7236
31.5k
        ++begin;
7237
31.5k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7238
16.1k
    return static_cast<int>(value);
7239
16.2k
}
int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
7224
11.2k
{
7225
11.2k
    SCN_EXPECT(begin != end);
7226
11.2k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7227
7228
11.2k
    unsigned long long value = 0;
7229
16.6k
    do {
7230
16.6k
        value *= 10;
7231
16.6k
        value += static_cast<unsigned long long>(*begin - '0');
7232
16.6k
        if (value >
7233
16.6k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7234
102
            return -1;
7235
102
        }
7236
16.5k
        ++begin;
7237
16.5k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7238
11.1k
    return static_cast<int>(value);
7239
11.2k
}
7240
7241
template <typename CharT, typename IDHandler>
7242
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7243
                                       const CharT* end,
7244
                                       IDHandler&& handler)
7245
25.0k
{
7246
25.0k
    SCN_EXPECT(begin != end);
7247
7248
25.0k
    CharT c = *begin;
7249
25.0k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7250
22.1k
        handler.on_error("Invalid argument ID");
7251
22.1k
        return begin;
7252
22.1k
    }
7253
7254
2.88k
    int idx = 0;
7255
2.88k
    if (c != CharT{'0'}) {
7256
976
        idx = parse_simple_int(begin, end);
7257
976
    }
7258
1.90k
    else {
7259
1.90k
        ++begin;
7260
1.90k
    }
7261
7262
2.88k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7263
464
        handler.on_error("Invalid argument ID");
7264
464
        return begin;
7265
464
    }
7266
2.41k
    handler(idx);
7267
7268
2.41k
    return begin;
7269
2.88k
}
impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7245
22.6k
{
7246
22.6k
    SCN_EXPECT(begin != end);
7247
7248
22.6k
    CharT c = *begin;
7249
22.6k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7250
21.7k
        handler.on_error("Invalid argument ID");
7251
21.7k
        return begin;
7252
21.7k
    }
7253
7254
864
    int idx = 0;
7255
864
    if (c != CharT{'0'}) {
7256
450
        idx = parse_simple_int(begin, end);
7257
450
    }
7258
414
    else {
7259
414
        ++begin;
7260
414
    }
7261
7262
864
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7263
182
        handler.on_error("Invalid argument ID");
7264
182
        return begin;
7265
182
    }
7266
682
    handler(idx);
7267
7268
682
    return begin;
7269
864
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7245
2.43k
{
7246
2.43k
    SCN_EXPECT(begin != end);
7247
7248
2.43k
    CharT c = *begin;
7249
2.43k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7250
416
        handler.on_error("Invalid argument ID");
7251
416
        return begin;
7252
416
    }
7253
7254
2.01k
    int idx = 0;
7255
2.01k
    if (c != CharT{'0'}) {
7256
526
        idx = parse_simple_int(begin, end);
7257
526
    }
7258
1.49k
    else {
7259
1.49k
        ++begin;
7260
1.49k
    }
7261
7262
2.01k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7263
282
        handler.on_error("Invalid argument ID");
7264
282
        return begin;
7265
282
    }
7266
1.73k
    handler(idx);
7267
7268
1.73k
    return begin;
7269
2.01k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7270
7271
template <typename CharT, typename IDHandler>
7272
constexpr const CharT* parse_arg_id(const CharT* begin,
7273
                                    const CharT* end,
7274
                                    IDHandler&& handler)
7275
71.4k
{
7276
71.4k
    SCN_EXPECT(begin != end);
7277
71.4k
    if (*begin != '}' && *begin != ':') {
7278
25.0k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
25.0k
    }
7280
7281
46.3k
    handler();
7282
46.3k
    return begin;
7283
71.4k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7275
54.3k
{
7276
54.3k
    SCN_EXPECT(begin != end);
7277
54.3k
    if (*begin != '}' && *begin != ':') {
7278
22.6k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
22.6k
    }
7280
7281
31.6k
    handler();
7282
31.6k
    return begin;
7283
54.3k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7275
17.0k
{
7276
17.0k
    SCN_EXPECT(begin != end);
7277
17.0k
    if (*begin != '}' && *begin != ':') {
7278
2.43k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
2.43k
    }
7280
7281
14.6k
    handler();
7282
14.6k
    return begin;
7283
17.0k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7284
7285
template <typename CharT>
7286
constexpr presentation_type parse_presentation_type(CharT type)
7287
11.3k
{
7288
11.3k
    switch (type) {
7289
374
        case 'b':
7290
478
        case 'B':
7291
478
            return presentation_type::int_binary;
7292
214
        case 'd':
7293
214
            return presentation_type::int_decimal;
7294
482
        case 'i':
7295
482
            return presentation_type::int_generic;
7296
284
        case 'u':
7297
284
            return presentation_type::int_unsigned_decimal;
7298
428
        case 'o':
7299
428
            return presentation_type::int_octal;
7300
240
        case 'x':
7301
344
        case 'X':
7302
344
            return presentation_type::int_hex;
7303
68
        case 'r':
7304
152
        case 'R':
7305
152
            return presentation_type::int_arbitrary_base;
7306
346
        case 'a':
7307
1.15k
        case 'A':
7308
1.15k
            return presentation_type::float_hex;
7309
158
        case 'e':
7310
406
        case 'E':
7311
406
            return presentation_type::float_scientific;
7312
356
        case 'f':
7313
586
        case 'F':
7314
586
            return presentation_type::float_fixed;
7315
184
        case 'g':
7316
348
        case 'G':
7317
348
            return presentation_type::float_general;
7318
3.66k
        case 's':
7319
3.66k
            return presentation_type::string;
7320
896
        case 'c':
7321
896
            return presentation_type::character;
7322
68
        case '?':
7323
68
            return presentation_type::escaped_character;
7324
202
        case 'p':
7325
202
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
1.64k
        default:
7333
1.64k
            return presentation_type::none;
7334
11.3k
    }
7335
11.3k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Line
Count
Source
7287
6.25k
{
7288
6.25k
    switch (type) {
7289
142
        case 'b':
7290
194
        case 'B':
7291
194
            return presentation_type::int_binary;
7292
108
        case 'd':
7293
108
            return presentation_type::int_decimal;
7294
196
        case 'i':
7295
196
            return presentation_type::int_generic;
7296
88
        case 'u':
7297
88
            return presentation_type::int_unsigned_decimal;
7298
196
        case 'o':
7299
196
            return presentation_type::int_octal;
7300
98
        case 'x':
7301
150
        case 'X':
7302
150
            return presentation_type::int_hex;
7303
34
        case 'r':
7304
84
        case 'R':
7305
84
            return presentation_type::int_arbitrary_base;
7306
124
        case 'a':
7307
230
        case 'A':
7308
230
            return presentation_type::float_hex;
7309
88
        case 'e':
7310
212
        case 'E':
7311
212
            return presentation_type::float_scientific;
7312
214
        case 'f':
7313
320
        case 'F':
7314
320
            return presentation_type::float_fixed;
7315
150
        case 'g':
7316
226
        case 'G':
7317
226
            return presentation_type::float_general;
7318
2.62k
        case 's':
7319
2.62k
            return presentation_type::string;
7320
592
        case 'c':
7321
592
            return presentation_type::character;
7322
34
        case '?':
7323
34
            return presentation_type::escaped_character;
7324
78
        case 'p':
7325
78
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
916
        default:
7333
916
            return presentation_type::none;
7334
6.25k
    }
7335
6.25k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
7287
5.10k
{
7288
5.10k
    switch (type) {
7289
232
        case 'b':
7290
284
        case 'B':
7291
284
            return presentation_type::int_binary;
7292
106
        case 'd':
7293
106
            return presentation_type::int_decimal;
7294
286
        case 'i':
7295
286
            return presentation_type::int_generic;
7296
196
        case 'u':
7297
196
            return presentation_type::int_unsigned_decimal;
7298
232
        case 'o':
7299
232
            return presentation_type::int_octal;
7300
142
        case 'x':
7301
194
        case 'X':
7302
194
            return presentation_type::int_hex;
7303
34
        case 'r':
7304
68
        case 'R':
7305
68
            return presentation_type::int_arbitrary_base;
7306
222
        case 'a':
7307
922
        case 'A':
7308
922
            return presentation_type::float_hex;
7309
70
        case 'e':
7310
194
        case 'E':
7311
194
            return presentation_type::float_scientific;
7312
142
        case 'f':
7313
266
        case 'F':
7314
266
            return presentation_type::float_fixed;
7315
34
        case 'g':
7316
122
        case 'G':
7317
122
            return presentation_type::float_general;
7318
1.04k
        case 's':
7319
1.04k
            return presentation_type::string;
7320
304
        case 'c':
7321
304
            return presentation_type::character;
7322
34
        case '?':
7323
34
            return presentation_type::escaped_character;
7324
124
        case 'p':
7325
124
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
726
        default:
7333
726
            return presentation_type::none;
7334
5.10k
    }
7335
5.10k
}
7336
7337
template <typename CharT>
7338
constexpr bool is_ascii_letter(CharT ch)
7339
5.34k
{
7340
5.34k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
5.34k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
5.34k
}
bool scn::v4::detail::is_ascii_letter<char>(char)
Line
Count
Source
7339
2.50k
{
7340
2.50k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
2.50k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
2.50k
}
bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
7339
2.84k
{
7340
2.84k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
2.84k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
2.84k
}
7343
7344
template <typename CharT>
7345
constexpr int code_point_length(const CharT* begin, const CharT* end)
7346
46.7k
{
7347
46.7k
    SCN_EXPECT(begin != end);
7348
46.7k
    if constexpr (sizeof(CharT) != 1) {
7349
15.6k
        return 1;
7350
    }
7351
31.0k
    else {
7352
31.0k
        const auto lengths =
7353
31.0k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
31.0k
            "\3\4";
7355
31.0k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
31.0k
        return len;
7357
31.0k
    }
7358
46.7k
}
int scn::v4::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
7346
31.0k
{
7347
31.0k
    SCN_EXPECT(begin != end);
7348
    if constexpr (sizeof(CharT) != 1) {
7349
        return 1;
7350
    }
7351
31.0k
    else {
7352
31.0k
        const auto lengths =
7353
31.0k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
31.0k
            "\3\4";
7355
31.0k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
31.0k
        return len;
7357
31.0k
    }
7358
31.0k
}
int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
7346
15.6k
{
7347
15.6k
    SCN_EXPECT(begin != end);
7348
15.6k
    if constexpr (sizeof(CharT) != 1) {
7349
15.6k
        return 1;
7350
    }
7351
    else {
7352
        const auto lengths =
7353
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
            "\3\4";
7355
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
        return len;
7357
    }
7358
15.6k
}
7359
7360
template <typename CharT, typename Handler>
7361
constexpr const CharT* parse_align(const CharT* begin,
7362
                                   const CharT* end,
7363
                                   Handler&& handler)
7364
46.7k
{
7365
46.7k
    SCN_EXPECT(begin != end);
7366
7367
91.0k
    auto check_align = [](wchar_t ch) {
7368
91.0k
        switch (ch) {
7369
2.20k
            case L'<':
7370
2.20k
                return align_type::left;
7371
1.45k
            case L'>':
7372
1.45k
                return align_type::right;
7373
6.67k
            case L'^':
7374
6.67k
                return align_type::center;
7375
80.7k
            default:
7376
80.7k
                return align_type::none;
7377
91.0k
        }
7378
91.0k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7367
61.0k
    auto check_align = [](wchar_t ch) {
7368
61.0k
        switch (ch) {
7369
1.48k
            case L'<':
7370
1.48k
                return align_type::left;
7371
976
            case L'>':
7372
976
                return align_type::right;
7373
3.65k
            case L'^':
7374
3.65k
                return align_type::center;
7375
54.9k
            default:
7376
54.9k
                return align_type::none;
7377
61.0k
        }
7378
61.0k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7367
30.0k
    auto check_align = [](wchar_t ch) {
7368
30.0k
        switch (ch) {
7369
716
            case L'<':
7370
716
                return align_type::left;
7371
482
            case L'>':
7372
482
                return align_type::right;
7373
3.01k
            case L'^':
7374
3.01k
                return align_type::center;
7375
25.8k
            default:
7376
25.8k
                return align_type::none;
7377
30.0k
        }
7378
30.0k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
7379
7380
46.7k
    auto potential_fill_len = code_point_length(begin, end);
7381
46.7k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
46.7k
                     std::distance(begin, end) < potential_fill_len)) {
7383
44
        handler.on_error("Invalid encoding in fill character");
7384
44
        return begin;
7385
44
    }
7386
7387
46.6k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
46.6k
    auto potential_fill = std::basic_string_view<CharT>{
7390
46.6k
        begin, static_cast<size_t>(potential_fill_len)};
7391
46.6k
    const auto begin_before_fill = begin;
7392
46.6k
    begin += potential_fill_len;
7393
7394
46.6k
    if (begin == end) {
7395
2.28k
        return begin_before_fill;
7396
2.28k
    }
7397
7398
44.3k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
44.3k
    const auto begin_after_fill = begin;
7400
44.3k
    ++begin;
7401
7402
44.3k
    if (potential_fill_len == 1) {
7403
41.9k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
102
            handler.on_error("Invalid fill character '{' in format string");
7405
102
            return begin;
7406
102
        }
7407
41.8k
        if (potential_fill[0] == '[') {
7408
13.4k
            return begin_before_fill;
7409
13.4k
        }
7410
41.8k
    }
7411
7412
30.8k
    if (potential_align_after_fill == align_type::none) {
7413
25.7k
        if (potential_align_on_fill != align_type::none) {
7414
3.48k
            handler.on_align(potential_align_on_fill);
7415
3.48k
            return begin_after_fill;
7416
3.48k
        }
7417
22.2k
        return begin_before_fill;
7418
25.7k
    }
7419
7420
5.09k
    handler.on_fill(potential_fill);
7421
5.09k
    handler.on_align(potential_align_after_fill);
7422
5.09k
    return begin;
7423
30.8k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7364
31.0k
{
7365
31.0k
    SCN_EXPECT(begin != end);
7366
7367
31.0k
    auto check_align = [](wchar_t ch) {
7368
31.0k
        switch (ch) {
7369
31.0k
            case L'<':
7370
31.0k
                return align_type::left;
7371
31.0k
            case L'>':
7372
31.0k
                return align_type::right;
7373
31.0k
            case L'^':
7374
31.0k
                return align_type::center;
7375
31.0k
            default:
7376
31.0k
                return align_type::none;
7377
31.0k
        }
7378
31.0k
    };
7379
7380
31.0k
    auto potential_fill_len = code_point_length(begin, end);
7381
31.0k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
31.0k
                     std::distance(begin, end) < potential_fill_len)) {
7383
44
        handler.on_error("Invalid encoding in fill character");
7384
44
        return begin;
7385
44
    }
7386
7387
31.0k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
31.0k
    auto potential_fill = std::basic_string_view<CharT>{
7390
31.0k
        begin, static_cast<size_t>(potential_fill_len)};
7391
31.0k
    const auto begin_before_fill = begin;
7392
31.0k
    begin += potential_fill_len;
7393
7394
31.0k
    if (begin == end) {
7395
1.05k
        return begin_before_fill;
7396
1.05k
    }
7397
7398
29.9k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
29.9k
    const auto begin_after_fill = begin;
7400
29.9k
    ++begin;
7401
7402
29.9k
    if (potential_fill_len == 1) {
7403
27.5k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
60
            handler.on_error("Invalid fill character '{' in format string");
7405
60
            return begin;
7406
60
        }
7407
27.5k
        if (potential_fill[0] == '[') {
7408
11.6k
            return begin_before_fill;
7409
11.6k
        }
7410
27.5k
    }
7411
7412
18.2k
    if (potential_align_after_fill == align_type::none) {
7413
15.6k
        if (potential_align_on_fill != align_type::none) {
7414
2.34k
            handler.on_align(potential_align_on_fill);
7415
2.34k
            return begin_after_fill;
7416
2.34k
        }
7417
13.3k
        return begin_before_fill;
7418
15.6k
    }
7419
7420
2.60k
    handler.on_fill(potential_fill);
7421
2.60k
    handler.on_align(potential_align_after_fill);
7422
2.60k
    return begin;
7423
18.2k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7364
15.6k
{
7365
15.6k
    SCN_EXPECT(begin != end);
7366
7367
15.6k
    auto check_align = [](wchar_t ch) {
7368
15.6k
        switch (ch) {
7369
15.6k
            case L'<':
7370
15.6k
                return align_type::left;
7371
15.6k
            case L'>':
7372
15.6k
                return align_type::right;
7373
15.6k
            case L'^':
7374
15.6k
                return align_type::center;
7375
15.6k
            default:
7376
15.6k
                return align_type::none;
7377
15.6k
        }
7378
15.6k
    };
7379
7380
15.6k
    auto potential_fill_len = code_point_length(begin, end);
7381
15.6k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
15.6k
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
15.6k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
15.6k
    auto potential_fill = std::basic_string_view<CharT>{
7390
15.6k
        begin, static_cast<size_t>(potential_fill_len)};
7391
15.6k
    const auto begin_before_fill = begin;
7392
15.6k
    begin += potential_fill_len;
7393
7394
15.6k
    if (begin == end) {
7395
1.22k
        return begin_before_fill;
7396
1.22k
    }
7397
7398
14.4k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
14.4k
    const auto begin_after_fill = begin;
7400
14.4k
    ++begin;
7401
7402
14.4k
    if (potential_fill_len == 1) {
7403
14.4k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
42
            handler.on_error("Invalid fill character '{' in format string");
7405
42
            return begin;
7406
42
        }
7407
14.3k
        if (potential_fill[0] == '[') {
7408
1.75k
            return begin_before_fill;
7409
1.75k
        }
7410
14.3k
    }
7411
7412
12.6k
    if (potential_align_after_fill == align_type::none) {
7413
10.1k
        if (potential_align_on_fill != align_type::none) {
7414
1.13k
            handler.on_align(potential_align_on_fill);
7415
1.13k
            return begin_after_fill;
7416
1.13k
        }
7417
8.98k
        return begin_before_fill;
7418
10.1k
    }
7419
7420
2.49k
    handler.on_fill(potential_fill);
7421
2.49k
    handler.on_align(potential_align_after_fill);
7422
2.49k
    return begin;
7423
12.6k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7424
7425
template <typename CharT, typename Handler>
7426
constexpr const CharT* parse_width(const CharT* begin,
7427
                                   const CharT* end,
7428
                                   Handler&& handler)
7429
46.4k
{
7430
46.4k
    SCN_EXPECT(begin != end);
7431
7432
46.4k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
8.73k
        int width = parse_simple_int(begin, end);
7434
8.73k
        if (SCN_LIKELY(width != -1)) {
7435
8.66k
            handler.on_width(width);
7436
8.66k
        }
7437
68
        else {
7438
68
            handler.on_error("Invalid field width");
7439
68
            return begin;
7440
68
        }
7441
8.73k
    }
7442
46.3k
    return begin;
7443
46.4k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7429
30.9k
{
7430
30.9k
    SCN_EXPECT(begin != end);
7431
7432
30.9k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
4.07k
        int width = parse_simple_int(begin, end);
7434
4.07k
        if (SCN_LIKELY(width != -1)) {
7435
4.04k
            handler.on_width(width);
7436
4.04k
        }
7437
34
        else {
7438
34
            handler.on_error("Invalid field width");
7439
34
            return begin;
7440
34
        }
7441
4.07k
    }
7442
30.9k
    return begin;
7443
30.9k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7429
15.5k
{
7430
15.5k
    SCN_EXPECT(begin != end);
7431
7432
15.5k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
4.66k
        int width = parse_simple_int(begin, end);
7434
4.66k
        if (SCN_LIKELY(width != -1)) {
7435
4.62k
            handler.on_width(width);
7436
4.62k
        }
7437
34
        else {
7438
34
            handler.on_error("Invalid field width");
7439
34
            return begin;
7440
34
        }
7441
4.66k
    }
7442
15.4k
    return begin;
7443
15.5k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7444
7445
template <typename CharT, typename Handler>
7446
constexpr const CharT* parse_precision(const CharT* begin,
7447
                                       const CharT* end,
7448
                                       Handler&& handler)
7449
17.9k
{
7450
17.9k
    SCN_EXPECT(begin != end);
7451
7452
17.9k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7453
17.7k
        int prec = parse_simple_int(begin, end);
7454
17.7k
        if (SCN_LIKELY(prec != -1)) {
7455
17.6k
            handler.on_precision(prec);
7456
17.6k
        }
7457
82
        else {
7458
82
            handler.on_error("Invalid field precision");
7459
82
            return begin;
7460
82
        }
7461
17.7k
    }
7462
17.8k
    return begin;
7463
17.9k
}
impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7449
11.7k
{
7450
11.7k
    SCN_EXPECT(begin != end);
7451
7452
11.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7453
11.6k
        int prec = parse_simple_int(begin, end);
7454
11.6k
        if (SCN_LIKELY(prec != -1)) {
7455
11.6k
            handler.on_precision(prec);
7456
11.6k
        }
7457
48
        else {
7458
48
            handler.on_error("Invalid field precision");
7459
48
            return begin;
7460
48
        }
7461
11.6k
    }
7462
11.7k
    return begin;
7463
11.7k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7449
6.14k
{
7450
6.14k
    SCN_EXPECT(begin != end);
7451
7452
6.14k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7453
6.03k
        int prec = parse_simple_int(begin, end);
7454
6.03k
        if (SCN_LIKELY(prec != -1)) {
7455
6.00k
            handler.on_precision(prec);
7456
6.00k
        }
7457
34
        else {
7458
34
            handler.on_error("Invalid field precision");
7459
34
            return begin;
7460
34
        }
7461
6.03k
    }
7462
6.10k
    return begin;
7463
6.14k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7464
7465
template <typename CharT, typename SpecHandler>
7466
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7467
                                                     const CharT* end,
7468
                                                     SpecHandler&& handler)
7469
3.26M
{
7470
3.26M
    SCN_EXPECT(begin != end);
7471
7472
3.26M
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
3.26M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
96
        handler.on_error("Invalid encoding in format string");
7475
96
        return invalid_code_point;
7476
96
    }
7477
7478
3.26M
    const auto cp =
7479
3.26M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
3.26M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
228
        handler.on_error("Invalid encoding in format string");
7482
228
        return invalid_code_point;
7483
228
    }
7484
7485
3.26M
    begin += len;
7486
3.26M
    return cp;
7487
3.26M
}
char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7469
804k
{
7470
804k
    SCN_EXPECT(begin != end);
7471
7472
804k
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
804k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
0
        handler.on_error("Invalid encoding in format string");
7475
0
        return invalid_code_point;
7476
0
    }
7477
7478
804k
    const auto cp =
7479
804k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
804k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
0
        handler.on_error("Invalid encoding in format string");
7482
0
        return invalid_code_point;
7483
0
    }
7484
7485
804k
    begin += len;
7486
804k
    return cp;
7487
804k
}
char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7469
9.22k
{
7470
9.22k
    SCN_EXPECT(begin != end);
7471
7472
9.22k
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
9.22k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
0
        handler.on_error("Invalid encoding in format string");
7475
0
        return invalid_code_point;
7476
0
    }
7477
7478
9.22k
    const auto cp =
7479
9.22k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
9.22k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
0
        handler.on_error("Invalid encoding in format string");
7482
0
        return invalid_code_point;
7483
0
    }
7484
7485
9.22k
    begin += len;
7486
9.22k
    return cp;
7487
9.22k
}
impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7469
2.41M
{
7470
2.41M
    SCN_EXPECT(begin != end);
7471
7472
2.41M
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
2.41M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
96
        handler.on_error("Invalid encoding in format string");
7475
96
        return invalid_code_point;
7476
96
    }
7477
7478
2.41M
    const auto cp =
7479
2.41M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
2.41M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
68
        handler.on_error("Invalid encoding in format string");
7482
68
        return invalid_code_point;
7483
68
    }
7484
7485
2.41M
    begin += len;
7486
2.41M
    return cp;
7487
2.41M
}
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7469
33.8k
{
7470
33.8k
    SCN_EXPECT(begin != end);
7471
7472
33.8k
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
33.8k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
0
        handler.on_error("Invalid encoding in format string");
7475
0
        return invalid_code_point;
7476
0
    }
7477
7478
33.8k
    const auto cp =
7479
33.8k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
33.8k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
160
        handler.on_error("Invalid encoding in format string");
7482
160
        return invalid_code_point;
7483
160
    }
7484
7485
33.7k
    begin += len;
7486
33.7k
    return cp;
7487
33.8k
}
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7488
7489
template <typename CharT, typename SpecHandler>
7490
constexpr void parse_presentation_set_literal(const CharT*& begin,
7491
                                              const CharT* end,
7492
                                              SpecHandler&& handler)
7493
3.24M
{
7494
3.24M
    SCN_EXPECT(begin != end);
7495
7496
3.24M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
3.24M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
220
        return;
7499
220
    }
7500
7501
3.24M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
3.24M
        *(begin + 1) != CharT{']'}) {
7503
21.6k
        ++begin;
7504
7505
21.6k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
21.6k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
104
            return;
7508
104
        }
7509
7510
21.5k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
68
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
68
            return;
7515
68
        }
7516
7517
21.4k
        handler.on_charset_range(cp_first, cp_second + 1);
7518
21.4k
        return;
7519
21.5k
    }
7520
7521
3.22M
    handler.on_charset_single(cp_first);
7522
3.22M
}
void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7493
799k
{
7494
799k
    SCN_EXPECT(begin != end);
7495
7496
799k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
799k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
0
        return;
7499
0
    }
7500
7501
799k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
799k
        *(begin + 1) != CharT{']'}) {
7503
4.30k
        ++begin;
7504
7505
4.30k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
4.30k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
0
            return;
7508
0
        }
7509
7510
4.30k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
0
            return;
7515
0
        }
7516
7517
4.30k
        handler.on_charset_range(cp_first, cp_second + 1);
7518
4.30k
        return;
7519
4.30k
    }
7520
7521
795k
    handler.on_charset_single(cp_first);
7522
795k
}
void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7493
8.62k
{
7494
8.62k
    SCN_EXPECT(begin != end);
7495
7496
8.62k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
8.62k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
0
        return;
7499
0
    }
7500
7501
8.62k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
8.62k
        *(begin + 1) != CharT{']'}) {
7503
594
        ++begin;
7504
7505
594
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
594
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
0
            return;
7508
0
        }
7509
7510
594
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
0
            return;
7515
0
        }
7516
7517
594
        handler.on_charset_range(cp_first, cp_second + 1);
7518
594
        return;
7519
594
    }
7520
7521
8.03k
    handler.on_charset_single(cp_first);
7522
8.03k
}
impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7493
2.40M
{
7494
2.40M
    SCN_EXPECT(begin != end);
7495
7496
2.40M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
2.40M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
94
        return;
7499
94
    }
7500
7501
2.40M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
2.40M
        *(begin + 1) != CharT{']'}) {
7503
14.2k
        ++begin;
7504
7505
14.2k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
14.2k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
70
            return;
7508
70
        }
7509
7510
14.1k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
34
            return;
7515
34
        }
7516
7517
14.1k
        handler.on_charset_range(cp_first, cp_second + 1);
7518
14.1k
        return;
7519
14.1k
    }
7520
7521
2.39M
    handler.on_charset_single(cp_first);
7522
2.39M
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7493
31.3k
{
7494
31.3k
    SCN_EXPECT(begin != end);
7495
7496
31.3k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
31.3k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
126
        return;
7499
126
    }
7500
7501
31.2k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
31.2k
        *(begin + 1) != CharT{']'}) {
7503
2.54k
        ++begin;
7504
7505
2.54k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
2.54k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
34
            return;
7508
34
        }
7509
7510
2.51k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
34
            return;
7515
34
        }
7516
7517
2.48k
        handler.on_charset_range(cp_first, cp_second + 1);
7518
2.48k
        return;
7519
2.51k
    }
7520
7521
28.6k
    handler.on_charset_single(cp_first);
7522
28.6k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7523
7524
template <typename CharT, typename SpecHandler>
7525
constexpr std::basic_string_view<CharT> parse_presentation_set(
7526
    const CharT*& begin,
7527
    const CharT* end,
7528
    SpecHandler&& handler)
7529
24.7k
{
7530
24.7k
    SCN_EXPECT(begin != end);
7531
24.7k
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
24.7k
    auto start = begin;
7534
24.7k
    ++begin;
7535
7536
24.7k
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
76
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
76
        return {};
7541
76
    }
7542
24.7k
    if (*begin == CharT{'^'}) {
7543
5.86k
        handler.on_charset_inverted();
7544
5.86k
        ++begin;
7545
5.86k
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
68
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
68
            return {};
7550
68
        }
7551
5.79k
        if (*begin == CharT{']'}) {
7552
116
            handler.on_charset_single(char32_t{']'});
7553
116
            ++begin;
7554
116
        }
7555
5.79k
    }
7556
18.8k
    else if (*begin == CharT{']'}) {
7557
68
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
68
    }
7559
7560
3.26M
    while (begin != end) {
7561
3.26M
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
378
            break;
7563
378
        }
7564
7565
3.26M
        if (*begin == CharT{']'}) {
7566
23.3k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
23.3k
        }
7568
7569
3.24M
        parse_presentation_set_literal(begin, end, handler);
7570
3.24M
    }
7571
7572
1.18k
    SCN_UNLIKELY_ATTR
7573
1.18k
    handler.on_error("Invalid [character set] specifier in format string");
7574
1.18k
    return {};
7575
24.5k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7529
4.11k
{
7530
4.11k
    SCN_EXPECT(begin != end);
7531
4.11k
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
4.11k
    auto start = begin;
7534
4.11k
    ++begin;
7535
7536
4.11k
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
0
        return {};
7541
0
    }
7542
4.11k
    if (*begin == CharT{'^'}) {
7543
492
        handler.on_charset_inverted();
7544
492
        ++begin;
7545
492
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
0
            return {};
7550
0
        }
7551
492
        if (*begin == CharT{']'}) {
7552
6
            handler.on_charset_single(char32_t{']'});
7553
6
            ++begin;
7554
6
        }
7555
492
    }
7556
3.61k
    else if (*begin == CharT{']'}) {
7557
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
0
    }
7559
7560
803k
    while (begin != end) {
7561
803k
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
0
            break;
7563
0
        }
7564
7565
803k
        if (*begin == CharT{']'}) {
7566
4.11k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
4.11k
        }
7568
7569
799k
        parse_presentation_set_literal(begin, end, handler);
7570
799k
    }
7571
7572
0
    SCN_UNLIKELY_ATTR
7573
0
    handler.on_error("Invalid [character set] specifier in format string");
7574
0
    return {};
7575
4.11k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7529
930
{
7530
930
    SCN_EXPECT(begin != end);
7531
930
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
930
    auto start = begin;
7534
930
    ++begin;
7535
7536
930
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
0
        return {};
7541
0
    }
7542
930
    if (*begin == CharT{'^'}) {
7543
558
        handler.on_charset_inverted();
7544
558
        ++begin;
7545
558
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
0
            return {};
7550
0
        }
7551
558
        if (*begin == CharT{']'}) {
7552
6
            handler.on_charset_single(char32_t{']'});
7553
6
            ++begin;
7554
6
        }
7555
558
    }
7556
372
    else if (*begin == CharT{']'}) {
7557
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
0
    }
7559
7560
9.55k
    while (begin != end) {
7561
9.55k
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
0
            break;
7563
0
        }
7564
7565
9.55k
        if (*begin == CharT{']'}) {
7566
930
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
930
        }
7568
7569
8.62k
        parse_presentation_set_literal(begin, end, handler);
7570
8.62k
    }
7571
7572
0
    SCN_UNLIKELY_ATTR
7573
0
    handler.on_error("Invalid [character set] specifier in format string");
7574
0
    return {};
7575
930
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7529
15.1k
{
7530
15.1k
    SCN_EXPECT(begin != end);
7531
15.1k
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
15.1k
    auto start = begin;
7534
15.1k
    ++begin;
7535
7536
15.1k
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
42
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
42
        return {};
7541
42
    }
7542
15.0k
    if (*begin == CharT{'^'}) {
7543
2.46k
        handler.on_charset_inverted();
7544
2.46k
        ++begin;
7545
2.46k
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
34
            return {};
7550
34
        }
7551
2.42k
        if (*begin == CharT{']'}) {
7552
52
            handler.on_charset_single(char32_t{']'});
7553
52
            ++begin;
7554
52
        }
7555
2.42k
    }
7556
12.6k
    else if (*begin == CharT{']'}) {
7557
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
34
    }
7559
7560
2.42M
    while (begin != end) {
7561
2.41M
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
216
            break;
7563
216
        }
7564
7565
2.41M
        if (*begin == CharT{']'}) {
7566
14.3k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
14.3k
        }
7568
7569
2.40M
        parse_presentation_set_literal(begin, end, handler);
7570
2.40M
    }
7571
7572
700
    SCN_UNLIKELY_ATTR
7573
700
    handler.on_error("Invalid [character set] specifier in format string");
7574
700
    return {};
7575
15.0k
}
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7529
4.61k
{
7530
4.61k
    SCN_EXPECT(begin != end);
7531
4.61k
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
4.61k
    auto start = begin;
7534
4.61k
    ++begin;
7535
7536
4.61k
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
34
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
34
        return {};
7541
34
    }
7542
4.57k
    if (*begin == CharT{'^'}) {
7543
2.35k
        handler.on_charset_inverted();
7544
2.35k
        ++begin;
7545
2.35k
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
34
            return {};
7550
34
        }
7551
2.31k
        if (*begin == CharT{']'}) {
7552
52
            handler.on_charset_single(char32_t{']'});
7553
52
            ++begin;
7554
52
        }
7555
2.31k
    }
7556
2.22k
    else if (*begin == CharT{']'}) {
7557
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
34
    }
7559
7560
35.8k
    while (begin != end) {
7561
35.5k
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
162
            break;
7563
162
        }
7564
7565
35.3k
        if (*begin == CharT{']'}) {
7566
4.02k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
4.02k
        }
7568
7569
31.3k
        parse_presentation_set_literal(begin, end, handler);
7570
31.3k
    }
7571
7572
488
    SCN_UNLIKELY_ATTR
7573
488
    handler.on_error("Invalid [character set] specifier in format string");
7574
488
    return {};
7575
4.50k
}
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7576
7577
template <typename CharT, typename SpecHandler>
7578
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7579
                                                const CharT* end,
7580
                                                SpecHandler&& handler)
7581
4.31k
{
7582
4.31k
#if !SCN_DISABLE_REGEX
7583
4.31k
    SCN_EXPECT(begin != end);
7584
4.31k
    SCN_EXPECT(*begin == CharT{'/'});
7585
7586
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7587
42
                  std::is_same_v<CharT, wchar_t>) {
7588
42
        handler.on_error("Regex backend doesn't support wide strings as input");
7589
42
        return begin;
7590
42
    }
7591
7592
0
    auto start = begin;
7593
4.31k
    ++begin;
7594
7595
4.31k
    if (SCN_UNLIKELY(begin == end)) {
7596
34
        handler.on_error("Unexpected end of regex in format string");
7597
34
        return begin;
7598
34
    }
7599
7600
4.28k
    handler.on_type(presentation_type::regex);
7601
258k
    for (; begin != end; ++begin) {
7602
258k
        if (*begin == CharT{'/'}) {
7603
27.7k
            if (*(begin - 1) != CharT{'\\'}) {
7604
4.06k
                break;
7605
4.06k
            }
7606
23.7k
            else {
7607
23.7k
                handler.on_type(presentation_type::regex_escaped);
7608
23.7k
            }
7609
27.7k
        }
7610
258k
    }
7611
4.28k
    if (SCN_UNLIKELY(begin == end)) {
7612
174
        handler.on_error("Unexpected end of regex in format string");
7613
174
        return begin;
7614
174
    }
7615
7616
4.10k
    auto regex_end = begin;
7617
4.10k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7618
4.10k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7619
34
        handler.on_error("Invalid (empty) regex in format string");
7620
34
        return begin;
7621
34
    }
7622
4.07k
    handler.on_regex_pattern(regex_pattern);
7623
4.07k
    ++begin;
7624
7625
4.07k
    if (SCN_UNLIKELY(begin == end)) {
7626
34
        handler.on_error("Unexpected end of regex in format string");
7627
34
        return begin;
7628
34
    }
7629
7630
4.03k
    regex_flags flags{regex_flags::none};
7631
4.03k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7632
4.03k
        {{'m', regex_flags::multiline},
7633
4.03k
         {'s', regex_flags::singleline},
7634
4.03k
         {'i', regex_flags::nocase},
7635
4.03k
         {'n', regex_flags::nocapture}}};
7636
4.26k
    for (; begin != end; ++begin) {
7637
4.17k
        if (*begin == CharT{'}'}) {
7638
3.86k
            break;
7639
3.86k
        }
7640
310
        bool found_flag = false;
7641
874
        for (auto flag : flag_map) {
7642
874
            if (static_cast<CharT>(flag.first) != *begin) {
7643
618
                continue;
7644
618
            }
7645
256
            if ((flags & flag.second) != regex_flags::none) {
7646
34
                handler.on_error("Flag set multiple times in regex");
7647
34
                return begin;
7648
34
            }
7649
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7650
            if (*begin == CharT{'s'}) {
7651
                // clang-format off
7652
                handler.on_error("/s flag for regex isn't supported by regex backend");
7653
                // clang-format on
7654
            }
7655
#if !SCN_HAS_STD_REGEX_MULTILINE
7656
            if (*begin == CharT{'m'}) {
7657
                // clang-format off
7658
                handler.on_error("/m flag for regex isn't supported by regex backend");
7659
                // clang-format on
7660
            }
7661
#endif
7662
#endif
7663
222
            flags |= flag.second;
7664
222
            found_flag = true;
7665
222
            break;
7666
256
        }
7667
276
        if (!found_flag) {
7668
54
            handler.on_error("Invalid flag in regex");
7669
54
            return begin;
7670
54
        }
7671
276
    }
7672
3.95k
    handler.on_regex_flags(flags);
7673
7674
3.95k
    if (SCN_UNLIKELY(begin == end)) {
7675
42
        handler.on_error("Unexpected end of regex in format string");
7676
42
        return begin;
7677
42
    }
7678
7679
3.90k
    return begin;
7680
#else
7681
    handler.on_error("Regular expression support is disabled");
7682
    return {};
7683
#endif
7684
3.95k
}
impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7581
4.27k
{
7582
4.27k
#if !SCN_DISABLE_REGEX
7583
4.27k
    SCN_EXPECT(begin != end);
7584
4.27k
    SCN_EXPECT(*begin == CharT{'/'});
7585
7586
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7587
                  std::is_same_v<CharT, wchar_t>) {
7588
        handler.on_error("Regex backend doesn't support wide strings as input");
7589
        return begin;
7590
    }
7591
7592
4.27k
    auto start = begin;
7593
4.27k
    ++begin;
7594
7595
4.27k
    if (SCN_UNLIKELY(begin == end)) {
7596
34
        handler.on_error("Unexpected end of regex in format string");
7597
34
        return begin;
7598
34
    }
7599
7600
4.23k
    handler.on_type(presentation_type::regex);
7601
258k
    for (; begin != end; ++begin) {
7602
258k
        if (*begin == CharT{'/'}) {
7603
27.7k
            if (*(begin - 1) != CharT{'\\'}) {
7604
4.06k
                break;
7605
4.06k
            }
7606
23.7k
            else {
7607
23.7k
                handler.on_type(presentation_type::regex_escaped);
7608
23.7k
            }
7609
27.7k
        }
7610
258k
    }
7611
4.23k
    if (SCN_UNLIKELY(begin == end)) {
7612
174
        handler.on_error("Unexpected end of regex in format string");
7613
174
        return begin;
7614
174
    }
7615
7616
4.06k
    auto regex_end = begin;
7617
4.06k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7618
4.06k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7619
34
        handler.on_error("Invalid (empty) regex in format string");
7620
34
        return begin;
7621
34
    }
7622
4.03k
    handler.on_regex_pattern(regex_pattern);
7623
4.03k
    ++begin;
7624
7625
4.03k
    if (SCN_UNLIKELY(begin == end)) {
7626
34
        handler.on_error("Unexpected end of regex in format string");
7627
34
        return begin;
7628
34
    }
7629
7630
3.99k
    regex_flags flags{regex_flags::none};
7631
3.99k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7632
3.99k
        {{'m', regex_flags::multiline},
7633
3.99k
         {'s', regex_flags::singleline},
7634
3.99k
         {'i', regex_flags::nocase},
7635
3.99k
         {'n', regex_flags::nocapture}}};
7636
4.21k
    for (; begin != end; ++begin) {
7637
4.17k
        if (*begin == CharT{'}'}) {
7638
3.86k
            break;
7639
3.86k
        }
7640
310
        bool found_flag = false;
7641
874
        for (auto flag : flag_map) {
7642
874
            if (static_cast<CharT>(flag.first) != *begin) {
7643
618
                continue;
7644
618
            }
7645
256
            if ((flags & flag.second) != regex_flags::none) {
7646
34
                handler.on_error("Flag set multiple times in regex");
7647
34
                return begin;
7648
34
            }
7649
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7650
            if (*begin == CharT{'s'}) {
7651
                // clang-format off
7652
                handler.on_error("/s flag for regex isn't supported by regex backend");
7653
                // clang-format on
7654
            }
7655
#if !SCN_HAS_STD_REGEX_MULTILINE
7656
            if (*begin == CharT{'m'}) {
7657
                // clang-format off
7658
                handler.on_error("/m flag for regex isn't supported by regex backend");
7659
                // clang-format on
7660
            }
7661
#endif
7662
#endif
7663
222
            flags |= flag.second;
7664
222
            found_flag = true;
7665
222
            break;
7666
256
        }
7667
276
        if (!found_flag) {
7668
54
            handler.on_error("Invalid flag in regex");
7669
54
            return begin;
7670
54
        }
7671
276
    }
7672
3.90k
    handler.on_regex_flags(flags);
7673
7674
3.90k
    if (SCN_UNLIKELY(begin == end)) {
7675
42
        handler.on_error("Unexpected end of regex in format string");
7676
42
        return begin;
7677
42
    }
7678
7679
3.86k
    return begin;
7680
#else
7681
    handler.on_error("Regular expression support is disabled");
7682
    return {};
7683
#endif
7684
3.90k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7581
42
{
7582
42
#if !SCN_DISABLE_REGEX
7583
42
    SCN_EXPECT(begin != end);
7584
42
    SCN_EXPECT(*begin == CharT{'/'});
7585
7586
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7587
42
                  std::is_same_v<CharT, wchar_t>) {
7588
42
        handler.on_error("Regex backend doesn't support wide strings as input");
7589
42
        return begin;
7590
42
    }
7591
7592
0
    auto start = begin;
7593
42
    ++begin;
7594
7595
42
    if (SCN_UNLIKELY(begin == end)) {
7596
0
        handler.on_error("Unexpected end of regex in format string");
7597
0
        return begin;
7598
0
    }
7599
7600
42
    handler.on_type(presentation_type::regex);
7601
42
    for (; begin != end; ++begin) {
7602
0
        if (*begin == CharT{'/'}) {
7603
0
            if (*(begin - 1) != CharT{'\\'}) {
7604
0
                break;
7605
0
            }
7606
0
            else {
7607
0
                handler.on_type(presentation_type::regex_escaped);
7608
0
            }
7609
0
        }
7610
0
    }
7611
42
    if (SCN_UNLIKELY(begin == end)) {
7612
0
        handler.on_error("Unexpected end of regex in format string");
7613
0
        return begin;
7614
0
    }
7615
7616
42
    auto regex_end = begin;
7617
42
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7618
42
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7619
0
        handler.on_error("Invalid (empty) regex in format string");
7620
0
        return begin;
7621
0
    }
7622
42
    handler.on_regex_pattern(regex_pattern);
7623
42
    ++begin;
7624
7625
42
    if (SCN_UNLIKELY(begin == end)) {
7626
0
        handler.on_error("Unexpected end of regex in format string");
7627
0
        return begin;
7628
0
    }
7629
7630
42
    regex_flags flags{regex_flags::none};
7631
42
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7632
42
        {{'m', regex_flags::multiline},
7633
42
         {'s', regex_flags::singleline},
7634
42
         {'i', regex_flags::nocase},
7635
42
         {'n', regex_flags::nocapture}}};
7636
42
    for (; begin != end; ++begin) {
7637
0
        if (*begin == CharT{'}'}) {
7638
0
            break;
7639
0
        }
7640
0
        bool found_flag = false;
7641
0
        for (auto flag : flag_map) {
7642
0
            if (static_cast<CharT>(flag.first) != *begin) {
7643
0
                continue;
7644
0
            }
7645
0
            if ((flags & flag.second) != regex_flags::none) {
7646
0
                handler.on_error("Flag set multiple times in regex");
7647
0
                return begin;
7648
0
            }
7649
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7650
            if (*begin == CharT{'s'}) {
7651
                // clang-format off
7652
                handler.on_error("/s flag for regex isn't supported by regex backend");
7653
                // clang-format on
7654
            }
7655
#if !SCN_HAS_STD_REGEX_MULTILINE
7656
            if (*begin == CharT{'m'}) {
7657
                // clang-format off
7658
                handler.on_error("/m flag for regex isn't supported by regex backend");
7659
                // clang-format on
7660
            }
7661
#endif
7662
#endif
7663
0
            flags |= flag.second;
7664
0
            found_flag = true;
7665
0
            break;
7666
0
        }
7667
0
        if (!found_flag) {
7668
0
            handler.on_error("Invalid flag in regex");
7669
0
            return begin;
7670
0
        }
7671
0
    }
7672
42
    handler.on_regex_flags(flags);
7673
7674
42
    if (SCN_UNLIKELY(begin == end)) {
7675
0
        handler.on_error("Unexpected end of regex in format string");
7676
0
        return begin;
7677
0
    }
7678
7679
42
    return begin;
7680
#else
7681
    handler.on_error("Regular expression support is disabled");
7682
    return {};
7683
#endif
7684
42
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7685
7686
template <typename CharT, typename SpecHandler>
7687
constexpr const CharT* parse_format_specs(const CharT* begin,
7688
                                          const CharT* end,
7689
                                          SpecHandler&& handler)
7690
48.1k
{
7691
48.1k
    auto do_presentation = [&]() -> const CharT* {
7692
35.4k
        if (*begin == CharT{'['}) {
7693
19.7k
            auto set = parse_presentation_set(begin, end, handler);
7694
19.7k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
1.40k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
1.40k
                return begin;
7699
1.40k
            }
7700
18.3k
            handler.on_character_set_string(set);
7701
18.3k
            return begin;
7702
19.7k
        }
7703
15.6k
        if (*begin == CharT{'/'}) {
7704
4.31k
            return parse_presentation_regex(begin, end, handler);
7705
4.31k
        }
7706
11.3k
        presentation_type type = parse_presentation_type(*begin++);
7707
11.3k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
1.64k
            handler.on_error("Invalid type specifier in format string");
7709
1.64k
            return begin;
7710
1.64k
        }
7711
9.70k
        handler.on_type(type);
7712
9.70k
        return begin;
7713
11.3k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7691
25.6k
    auto do_presentation = [&]() -> const CharT* {
7692
25.6k
        if (*begin == CharT{'['}) {
7693
15.1k
            auto set = parse_presentation_set(begin, end, handler);
7694
15.1k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
810
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
810
                return begin;
7699
810
            }
7700
14.3k
            handler.on_character_set_string(set);
7701
14.3k
            return begin;
7702
15.1k
        }
7703
10.5k
        if (*begin == CharT{'/'}) {
7704
4.27k
            return parse_presentation_regex(begin, end, handler);
7705
4.27k
        }
7706
6.25k
        presentation_type type = parse_presentation_type(*begin++);
7707
6.25k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
916
            handler.on_error("Invalid type specifier in format string");
7709
916
            return begin;
7710
916
        }
7711
5.33k
        handler.on_type(type);
7712
5.33k
        return begin;
7713
6.25k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7691
9.75k
    auto do_presentation = [&]() -> const CharT* {
7692
9.75k
        if (*begin == CharT{'['}) {
7693
4.61k
            auto set = parse_presentation_set(begin, end, handler);
7694
4.61k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
590
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
590
                return begin;
7699
590
            }
7700
4.02k
            handler.on_character_set_string(set);
7701
4.02k
            return begin;
7702
4.61k
        }
7703
5.14k
        if (*begin == CharT{'/'}) {
7704
42
            return parse_presentation_regex(begin, end, handler);
7705
42
        }
7706
5.10k
        presentation_type type = parse_presentation_type(*begin++);
7707
5.10k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
726
            handler.on_error("Invalid type specifier in format string");
7709
726
            return begin;
7710
726
        }
7711
4.37k
        handler.on_type(type);
7712
4.37k
        return begin;
7713
5.10k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
7714
7715
48.1k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
48.1k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
1.45k
        return do_presentation();
7718
1.45k
    }
7719
7720
46.7k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
46.7k
    begin = parse_align(begin, end, handler);
7726
46.7k
    if (SCN_UNLIKELY(begin == end)) {
7727
246
        handler.on_error("Unexpected end of format string");
7728
246
        return begin;
7729
246
    }
7730
7731
46.4k
    begin = parse_width(begin, end, handler);
7732
46.4k
    if (SCN_UNLIKELY(begin == end)) {
7733
226
        handler.on_error("Unexpected end of format string");
7734
226
        return begin;
7735
226
    }
7736
7737
46.2k
    if (*begin == CharT{'.'}) {
7738
17.9k
        ++begin;
7739
17.9k
        if (SCN_UNLIKELY(begin == end)) {
7740
68
            handler.on_error("Unexpected end of format string");
7741
68
            return begin;
7742
68
        }
7743
17.9k
        begin = parse_precision(begin, end, handler);
7744
17.9k
        if (SCN_UNLIKELY(begin == end)) {
7745
248
            handler.on_error("Unexpected end of format string");
7746
248
            return begin;
7747
248
        }
7748
17.9k
    }
7749
7750
45.9k
    if (*begin == CharT{'L'}) {
7751
1.29k
        handler.on_localized();
7752
1.29k
        ++begin;
7753
1.29k
    }
7754
45.9k
    if (SCN_UNLIKELY(begin == end)) {
7755
112
        handler.on_error("Unexpected end of format string");
7756
112
        return begin;
7757
112
    }
7758
7759
45.8k
    if (begin != end && *begin != CharT{'}'}) {
7760
33.9k
        do_presentation();
7761
33.9k
    }
7762
45.8k
    if (SCN_UNLIKELY(begin == end)) {
7763
3.56k
        handler.on_error("Unexpected end of format string");
7764
3.56k
        return begin;
7765
3.56k
    }
7766
7767
42.2k
    return begin;
7768
45.8k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7690
32.0k
{
7691
32.0k
    auto do_presentation = [&]() -> const CharT* {
7692
32.0k
        if (*begin == CharT{'['}) {
7693
32.0k
            auto set = parse_presentation_set(begin, end, handler);
7694
32.0k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
32.0k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
32.0k
                return begin;
7699
32.0k
            }
7700
32.0k
            handler.on_character_set_string(set);
7701
32.0k
            return begin;
7702
32.0k
        }
7703
32.0k
        if (*begin == CharT{'/'}) {
7704
32.0k
            return parse_presentation_regex(begin, end, handler);
7705
32.0k
        }
7706
32.0k
        presentation_type type = parse_presentation_type(*begin++);
7707
32.0k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
32.0k
            handler.on_error("Invalid type specifier in format string");
7709
32.0k
            return begin;
7710
32.0k
        }
7711
32.0k
        handler.on_type(type);
7712
32.0k
        return begin;
7713
32.0k
    };
7714
7715
32.0k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
32.0k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
934
        return do_presentation();
7718
934
    }
7719
7720
31.0k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
31.0k
    begin = parse_align(begin, end, handler);
7726
31.0k
    if (SCN_UNLIKELY(begin == end)) {
7727
126
        handler.on_error("Unexpected end of format string");
7728
126
        return begin;
7729
126
    }
7730
7731
30.9k
    begin = parse_width(begin, end, handler);
7732
30.9k
    if (SCN_UNLIKELY(begin == end)) {
7733
102
        handler.on_error("Unexpected end of format string");
7734
102
        return begin;
7735
102
    }
7736
7737
30.8k
    if (*begin == CharT{'.'}) {
7738
11.8k
        ++begin;
7739
11.8k
        if (SCN_UNLIKELY(begin == end)) {
7740
34
            handler.on_error("Unexpected end of format string");
7741
34
            return begin;
7742
34
        }
7743
11.7k
        begin = parse_precision(begin, end, handler);
7744
11.7k
        if (SCN_UNLIKELY(begin == end)) {
7745
114
            handler.on_error("Unexpected end of format string");
7746
114
            return begin;
7747
114
        }
7748
11.7k
    }
7749
7750
30.7k
    if (*begin == CharT{'L'}) {
7751
572
        handler.on_localized();
7752
572
        ++begin;
7753
572
    }
7754
30.7k
    if (SCN_UNLIKELY(begin == end)) {
7755
52
        handler.on_error("Unexpected end of format string");
7756
52
        return begin;
7757
52
    }
7758
7759
30.6k
    if (begin != end && *begin != CharT{'}'}) {
7760
24.7k
        do_presentation();
7761
24.7k
    }
7762
30.6k
    if (SCN_UNLIKELY(begin == end)) {
7763
1.99k
        handler.on_error("Unexpected end of format string");
7764
1.99k
        return begin;
7765
1.99k
    }
7766
7767
28.6k
    return begin;
7768
30.6k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7690
16.1k
{
7691
16.1k
    auto do_presentation = [&]() -> const CharT* {
7692
16.1k
        if (*begin == CharT{'['}) {
7693
16.1k
            auto set = parse_presentation_set(begin, end, handler);
7694
16.1k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
16.1k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
16.1k
                return begin;
7699
16.1k
            }
7700
16.1k
            handler.on_character_set_string(set);
7701
16.1k
            return begin;
7702
16.1k
        }
7703
16.1k
        if (*begin == CharT{'/'}) {
7704
16.1k
            return parse_presentation_regex(begin, end, handler);
7705
16.1k
        }
7706
16.1k
        presentation_type type = parse_presentation_type(*begin++);
7707
16.1k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
16.1k
            handler.on_error("Invalid type specifier in format string");
7709
16.1k
            return begin;
7710
16.1k
        }
7711
16.1k
        handler.on_type(type);
7712
16.1k
        return begin;
7713
16.1k
    };
7714
7715
16.1k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
16.1k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
520
        return do_presentation();
7718
520
    }
7719
7720
15.6k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
15.6k
    begin = parse_align(begin, end, handler);
7726
15.6k
    if (SCN_UNLIKELY(begin == end)) {
7727
120
        handler.on_error("Unexpected end of format string");
7728
120
        return begin;
7729
120
    }
7730
7731
15.5k
    begin = parse_width(begin, end, handler);
7732
15.5k
    if (SCN_UNLIKELY(begin == end)) {
7733
124
        handler.on_error("Unexpected end of format string");
7734
124
        return begin;
7735
124
    }
7736
7737
15.3k
    if (*begin == CharT{'.'}) {
7738
6.17k
        ++begin;
7739
6.17k
        if (SCN_UNLIKELY(begin == end)) {
7740
34
            handler.on_error("Unexpected end of format string");
7741
34
            return begin;
7742
34
        }
7743
6.14k
        begin = parse_precision(begin, end, handler);
7744
6.14k
        if (SCN_UNLIKELY(begin == end)) {
7745
134
            handler.on_error("Unexpected end of format string");
7746
134
            return begin;
7747
134
        }
7748
6.14k
    }
7749
7750
15.2k
    if (*begin == CharT{'L'}) {
7751
724
        handler.on_localized();
7752
724
        ++begin;
7753
724
    }
7754
15.2k
    if (SCN_UNLIKELY(begin == end)) {
7755
60
        handler.on_error("Unexpected end of format string");
7756
60
        return begin;
7757
60
    }
7758
7759
15.1k
    if (begin != end && *begin != CharT{'}'}) {
7760
9.23k
        do_presentation();
7761
9.23k
    }
7762
15.1k
    if (SCN_UNLIKELY(begin == end)) {
7763
1.57k
        handler.on_error("Unexpected end of format string");
7764
1.57k
        return begin;
7765
1.57k
    }
7766
7767
13.5k
    return begin;
7768
15.1k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7769
7770
template <typename CharT, typename Handler>
7771
constexpr const CharT* parse_replacement_field(const CharT* begin,
7772
                                               const CharT* end,
7773
                                               Handler& handler)
7774
100k
{
7775
100k
    struct id_adapter {
7776
100k
        constexpr void operator()()
7777
100k
        {
7778
46.3k
            arg_id = handler.on_arg_id();
7779
46.3k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7777
31.6k
        {
7778
31.6k
            arg_id = handler.on_arg_id();
7779
31.6k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7777
14.6k
        {
7778
14.6k
            arg_id = handler.on_arg_id();
7779
14.6k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
7780
100k
        constexpr void operator()(std::size_t id)
7781
100k
        {
7782
2.41k
            arg_id = handler.on_arg_id(id);
7783
2.41k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
7781
682
        {
7782
682
            arg_id = handler.on_arg_id(id);
7783
682
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
7781
1.73k
        {
7782
1.73k
            arg_id = handler.on_arg_id(id);
7783
1.73k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7784
7785
100k
        constexpr void on_error(const char* msg)
7786
100k
        {
7787
22.6k
            SCN_UNLIKELY_ATTR
7788
22.6k
            handler.on_error(msg);
7789
22.6k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
7786
21.9k
        {
7787
21.9k
            SCN_UNLIKELY_ATTR
7788
21.9k
            handler.on_error(msg);
7789
21.9k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
7786
698
        {
7787
698
            SCN_UNLIKELY_ATTR
7788
698
            handler.on_error(msg);
7789
698
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7790
7791
100k
        Handler& handler;
7792
100k
        std::size_t arg_id;
7793
100k
    };
7794
7795
100k
    ++begin;
7796
100k
    if (SCN_UNLIKELY(begin == end)) {
7797
390
        handler.on_error("Unexpected end of replacement field");
7798
390
        return begin;
7799
390
    }
7800
7801
99.9k
    if (*begin == CharT{'}'}) {
7802
10.7k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
10.7k
    }
7804
89.1k
    else if (*begin == CharT{'{'}) {
7805
17.7k
        handler.on_literal_text(begin, begin + 1);
7806
17.7k
    }
7807
71.4k
    else {
7808
71.4k
        auto adapter = id_adapter{handler, 0};
7809
71.4k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
71.4k
        if (SCN_UNLIKELY(begin == end)) {
7812
222
            handler.on_error("Missing '}' in format string");
7813
222
            return begin;
7814
222
        }
7815
7816
71.1k
        if (*begin == CharT{'}'}) {
7817
478
            handler.on_replacement_field(adapter.arg_id, begin);
7818
478
        }
7819
70.7k
        else if (*begin == CharT{':'}) {
7820
48.2k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
124
                handler.on_error("Unexpected end of replacement field");
7822
124
                return begin;
7823
124
            }
7824
48.1k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
48.1k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
5.77k
                handler.on_error("Unknown format specifier");
7827
5.77k
                return begin;
7828
5.77k
            }
7829
48.1k
        }
7830
22.4k
        else {
7831
22.4k
            SCN_UNLIKELY_ATTR
7832
22.4k
            handler.on_error("Missing '}' in format string");
7833
22.4k
            return begin;
7834
22.4k
        }
7835
71.1k
    }
7836
71.3k
    return begin + 1;
7837
99.9k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7774
67.1k
{
7775
67.1k
    struct id_adapter {
7776
67.1k
        constexpr void operator()()
7777
67.1k
        {
7778
67.1k
            arg_id = handler.on_arg_id();
7779
67.1k
        }
7780
67.1k
        constexpr void operator()(std::size_t id)
7781
67.1k
        {
7782
67.1k
            arg_id = handler.on_arg_id(id);
7783
67.1k
        }
7784
7785
67.1k
        constexpr void on_error(const char* msg)
7786
67.1k
        {
7787
67.1k
            SCN_UNLIKELY_ATTR
7788
67.1k
            handler.on_error(msg);
7789
67.1k
        }
7790
7791
67.1k
        Handler& handler;
7792
67.1k
        std::size_t arg_id;
7793
67.1k
    };
7794
7795
67.1k
    ++begin;
7796
67.1k
    if (SCN_UNLIKELY(begin == end)) {
7797
206
        handler.on_error("Unexpected end of replacement field");
7798
206
        return begin;
7799
206
    }
7800
7801
66.8k
    if (*begin == CharT{'}'}) {
7802
5.67k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
5.67k
    }
7804
61.2k
    else if (*begin == CharT{'{'}) {
7805
6.89k
        handler.on_literal_text(begin, begin + 1);
7806
6.89k
    }
7807
54.3k
    else {
7808
54.3k
        auto adapter = id_adapter{handler, 0};
7809
54.3k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
54.3k
        if (SCN_UNLIKELY(begin == end)) {
7812
110
            handler.on_error("Missing '}' in format string");
7813
110
            return begin;
7814
110
        }
7815
7816
54.2k
        if (*begin == CharT{'}'}) {
7817
284
            handler.on_replacement_field(adapter.arg_id, begin);
7818
284
        }
7819
53.9k
        else if (*begin == CharT{':'}) {
7820
32.0k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
74
                handler.on_error("Unexpected end of replacement field");
7822
74
                return begin;
7823
74
            }
7824
32.0k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
32.0k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
3.30k
                handler.on_error("Unknown format specifier");
7827
3.30k
                return begin;
7828
3.30k
            }
7829
32.0k
        }
7830
21.8k
        else {
7831
21.8k
            SCN_UNLIKELY_ATTR
7832
21.8k
            handler.on_error("Missing '}' in format string");
7833
21.8k
            return begin;
7834
21.8k
        }
7835
54.2k
    }
7836
41.5k
    return begin + 1;
7837
66.8k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7774
33.1k
{
7775
33.1k
    struct id_adapter {
7776
33.1k
        constexpr void operator()()
7777
33.1k
        {
7778
33.1k
            arg_id = handler.on_arg_id();
7779
33.1k
        }
7780
33.1k
        constexpr void operator()(std::size_t id)
7781
33.1k
        {
7782
33.1k
            arg_id = handler.on_arg_id(id);
7783
33.1k
        }
7784
7785
33.1k
        constexpr void on_error(const char* msg)
7786
33.1k
        {
7787
33.1k
            SCN_UNLIKELY_ATTR
7788
33.1k
            handler.on_error(msg);
7789
33.1k
        }
7790
7791
33.1k
        Handler& handler;
7792
33.1k
        std::size_t arg_id;
7793
33.1k
    };
7794
7795
33.1k
    ++begin;
7796
33.1k
    if (SCN_UNLIKELY(begin == end)) {
7797
184
        handler.on_error("Unexpected end of replacement field");
7798
184
        return begin;
7799
184
    }
7800
7801
33.0k
    if (*begin == CharT{'}'}) {
7802
5.08k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
5.08k
    }
7804
27.9k
    else if (*begin == CharT{'{'}) {
7805
10.8k
        handler.on_literal_text(begin, begin + 1);
7806
10.8k
    }
7807
17.0k
    else {
7808
17.0k
        auto adapter = id_adapter{handler, 0};
7809
17.0k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
17.0k
        if (SCN_UNLIKELY(begin == end)) {
7812
112
            handler.on_error("Missing '}' in format string");
7813
112
            return begin;
7814
112
        }
7815
7816
16.9k
        if (*begin == CharT{'}'}) {
7817
194
            handler.on_replacement_field(adapter.arg_id, begin);
7818
194
        }
7819
16.7k
        else if (*begin == CharT{':'}) {
7820
16.1k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
50
                handler.on_error("Unexpected end of replacement field");
7822
50
                return begin;
7823
50
            }
7824
16.1k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
16.1k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
2.46k
                handler.on_error("Unknown format specifier");
7827
2.46k
                return begin;
7828
2.46k
            }
7829
16.1k
        }
7830
586
        else {
7831
586
            SCN_UNLIKELY_ATTR
7832
586
            handler.on_error("Missing '}' in format string");
7833
586
            return begin;
7834
586
        }
7835
16.9k
    }
7836
29.7k
    return begin + 1;
7837
33.0k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7838
7839
template <bool IsConstexpr, typename CharT, typename Handler>
7840
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7841
                                        Handler&& handler)
7842
186k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
186k
    auto begin = format.data();
7846
186k
    auto it = begin;
7847
186k
    const auto end = format.data() + format.size();
7848
7849
256M
    while (it != end) {
7850
256M
        const auto ch = *it++;
7851
256M
        if (ch == CharT{'{'}) {
7852
100k
            handler.on_literal_text(begin, it - 1);
7853
7854
100k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
100k
            if (!handler.get_error()) {
7856
71.1k
                return;
7857
71.1k
            }
7858
100k
        }
7859
256M
        else if (ch == CharT{'}'}) {
7860
70.1k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
63.9k
                handler.on_error("Unmatched '}' in format string");
7862
63.9k
                return;
7863
63.9k
            }
7864
7865
6.27k
            handler.on_literal_text(begin, it);
7866
6.27k
            begin = ++it;
7867
6.27k
        }
7868
256M
    }
7869
7870
51.7k
    handler.on_literal_text(begin, end);
7871
51.7k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7842
62.2k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
62.2k
    auto begin = format.data();
7846
62.2k
    auto it = begin;
7847
62.2k
    const auto end = format.data() + format.size();
7848
7849
257k
    while (it != end) {
7850
250k
        const auto ch = *it++;
7851
250k
        if (ch == CharT{'{'}) {
7852
67.1k
            handler.on_literal_text(begin, it - 1);
7853
7854
67.1k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
67.1k
            if (!handler.get_error()) {
7856
53.3k
                return;
7857
53.3k
            }
7858
67.1k
        }
7859
183k
        else if (ch == CharT{'}'}) {
7860
2.89k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
1.61k
                handler.on_error("Unmatched '}' in format string");
7862
1.61k
                return;
7863
1.61k
            }
7864
7865
1.28k
            handler.on_literal_text(begin, it);
7866
1.28k
            begin = ++it;
7867
1.28k
        }
7868
250k
    }
7869
7870
7.25k
    handler.on_literal_text(begin, end);
7871
7.25k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7842
124k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
124k
    auto begin = format.data();
7846
124k
    auto it = begin;
7847
124k
    const auto end = format.data() + format.size();
7848
7849
256M
    while (it != end) {
7850
256M
        const auto ch = *it++;
7851
256M
        if (ch == CharT{'{'}) {
7852
33.1k
            handler.on_literal_text(begin, it - 1);
7853
7854
33.1k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
33.1k
            if (!handler.get_error()) {
7856
17.7k
                return;
7857
17.7k
            }
7858
33.1k
        }
7859
256M
        else if (ch == CharT{'}'}) {
7860
67.2k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
62.3k
                handler.on_error("Unmatched '}' in format string");
7862
62.3k
                return;
7863
62.3k
            }
7864
7865
4.98k
            handler.on_literal_text(begin, it);
7866
4.98k
            begin = ++it;
7867
4.98k
        }
7868
256M
    }
7869
7870
44.5k
    handler.on_literal_text(begin, end);
7871
44.5k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7872
7873
template <bool IsConstexpr, typename CharT, typename Handler>
7874
constexpr scan_expected<void> parse_format_string(
7875
    std::basic_string_view<CharT> format,
7876
    Handler&& handler)
7877
186k
{
7878
186k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
186k
    handler.check_args_exhausted();
7880
186k
    return handler.get_error();
7881
186k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7877
62.2k
{
7878
62.2k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
62.2k
    handler.check_args_exhausted();
7880
62.2k
    return handler.get_error();
7881
62.2k
}
Unexecuted instantiation: impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7877
124k
{
7878
124k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
124k
    handler.check_args_exhausted();
7880
124k
    return handler.get_error();
7881
124k
}
Unexecuted instantiation: impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7882
7883
enum class arg_type_category {
7884
    none,
7885
    integer,
7886
    unsigned_integer,
7887
    floating,
7888
    string,
7889
    pointer,
7890
    boolean,
7891
    character,
7892
    custom
7893
};
7894
7895
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7896
1.29k
{
7897
1.29k
    switch (type) {
7898
154
        case arg_type::none_type:
7899
154
            return arg_type_category::none;
7900
7901
0
        case arg_type::schar_type:
7902
0
        case arg_type::short_type:
7903
128
        case arg_type::int_type:
7904
128
        case arg_type::long_type:
7905
128
        case arg_type::llong_type:
7906
128
        case arg_type::int128_type:
7907
128
            return arg_type_category::integer;
7908
7909
0
        case arg_type::uchar_type:
7910
0
        case arg_type::ushort_type:
7911
128
        case arg_type::uint_type:
7912
128
        case arg_type::ulong_type:
7913
128
        case arg_type::ullong_type:
7914
128
        case arg_type::uint128_type:
7915
128
            return arg_type_category::unsigned_integer;
7916
7917
126
        case arg_type::pointer_type:
7918
126
            return arg_type_category::pointer;
7919
128
        case arg_type::bool_type:
7920
128
            return arg_type_category::boolean;
7921
58
        case arg_type::narrow_character_type:
7922
126
        case arg_type::wide_character_type:
7923
126
        case arg_type::code_point_type:
7924
126
            return arg_type_category::character;
7925
7926
0
        case arg_type::float_type:
7927
128
        case arg_type::double_type:
7928
128
        case arg_type::ldouble_type:
7929
128
        case arg_type::float16_type:
7930
128
        case arg_type::float32_type:
7931
128
        case arg_type::float64_type:
7932
128
        case arg_type::float128_type:
7933
128
        case arg_type::bfloat16_type:
7934
128
            return arg_type_category::floating;
7935
7936
126
        case arg_type::narrow_string_type:
7937
252
        case arg_type::wide_string_type:
7938
378
        case arg_type::string_view_type:
7939
378
            return arg_type_category::string;
7940
7941
0
        case arg_type::custom_type:
7942
0
            return arg_type_category::custom;
7943
7944
0
            SCN_CLANG_PUSH
7945
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7946
0
        default:
7947
0
            SCN_ENSURE(false);
7948
1.29k
            SCN_UNREACHABLE;
7949
1.29k
            SCN_CLANG_POP
7950
1.29k
    }
7951
7952
1.29k
    SCN_UNREACHABLE;
7953
1.29k
}
7954
7955
template <typename Handler>
7956
class specs_checker : public Handler {
7957
public:
7958
    template <typename H>
7959
    constexpr specs_checker(H&& handler, arg_type type)
7960
48.1k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
48.1k
    {
7962
48.1k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
48.1k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7960
32.0k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
32.0k
    {
7962
32.0k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
32.0k
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7960
16.1k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
16.1k
    {
7962
16.1k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
16.1k
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
7964
7965
    constexpr void on_localized()
7966
1.29k
    {
7967
1.29k
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
1.29k
        if (cat != arg_type_category::integer &&
7969
1.29k
            cat != arg_type_category::unsigned_integer &&
7970
1.29k
            cat != arg_type_category::floating &&
7971
1.29k
            cat != arg_type_category::boolean) {
7972
784
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
784
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
784
        }
7977
7978
512
        Handler::on_localized();
7979
512
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Line
Count
Source
7966
572
    {
7967
572
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
572
        if (cat != arg_type_category::integer &&
7969
572
            cat != arg_type_category::unsigned_integer &&
7970
572
            cat != arg_type_category::floating &&
7971
572
            cat != arg_type_category::boolean) {
7972
340
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
340
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
340
        }
7977
7978
232
        Handler::on_localized();
7979
232
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Line
Count
Source
7966
724
    {
7967
724
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
724
        if (cat != arg_type_category::integer &&
7969
724
            cat != arg_type_category::unsigned_integer &&
7970
724
            cat != arg_type_category::floating &&
7971
724
            cat != arg_type_category::boolean) {
7972
444
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
444
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
444
        }
7977
7978
280
        Handler::on_localized();
7979
280
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
7980
7981
private:
7982
    arg_type m_arg_type;
7983
};
7984
7985
template <typename Handler>
7986
constexpr void check_int_type_specs(const format_specs& specs,
7987
                                    Handler&& handler)
7988
9.31k
{
7989
9.31k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7990
6.34k
        return handler.on_error("Invalid type specifier for integer type");
7991
6.34k
    }
7992
2.97k
    if (specs.localized) {
7993
176
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7994
            // clang-format off
7995
16
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7996
            // clang-format on
7997
16
            return;
7998
16
        }
7999
160
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8000
            // clang-format off
8001
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8002
            // clang-format on
8003
0
        }
8004
160
    }
8005
2.97k
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7988
9.31k
{
7989
9.31k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7990
6.34k
        return handler.on_error("Invalid type specifier for integer type");
7991
6.34k
    }
7992
2.97k
    if (specs.localized) {
7993
176
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7994
            // clang-format off
7995
16
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7996
            // clang-format on
7997
16
            return;
7998
16
        }
7999
160
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8000
            // clang-format off
8001
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8002
            // clang-format on
8003
0
        }
8004
160
    }
8005
2.97k
}
8006
8007
template <typename Handler>
8008
constexpr void check_char_type_specs(const format_specs& specs,
8009
                                     Handler&& handler)
8010
4.54k
{
8011
4.54k
    if (specs.type > presentation_type::int_hex ||
8012
4.54k
        specs.type == presentation_type::int_arbitrary_base) {
8013
3.14k
        SCN_UNLIKELY_ATTR
8014
3.14k
        return handler.on_error("Invalid type specifier for character type");
8015
3.14k
    }
8016
4.54k
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
8010
4.54k
{
8011
4.54k
    if (specs.type > presentation_type::int_hex ||
8012
4.54k
        specs.type == presentation_type::int_arbitrary_base) {
8013
3.14k
        SCN_UNLIKELY_ATTR
8014
3.14k
        return handler.on_error("Invalid type specifier for character type");
8015
3.14k
    }
8016
4.54k
}
8017
8018
template <typename Handler>
8019
constexpr void check_code_point_type_specs(const format_specs& specs,
8020
                                           Handler&& handler)
8021
0
{
8022
0
    if (specs.type != presentation_type::none &&
8023
0
        specs.type != presentation_type::character) {
8024
0
        SCN_UNLIKELY_ATTR
8025
0
        return handler.on_error("Invalid type specifier for code point type");
8026
0
    }
8027
0
}
8028
8029
template <typename Handler>
8030
constexpr void check_float_type_specs(const format_specs& specs,
8031
                                      Handler&& handler)
8032
4.65k
{
8033
4.65k
    if (specs.type != presentation_type::none &&
8034
4.65k
        (specs.type < presentation_type::float_hex ||
8035
3.36k
         specs.type > presentation_type::float_general)) {
8036
3.15k
        SCN_UNLIKELY_ATTR
8037
3.15k
        return handler.on_error("Invalid type specifier for float type");
8038
3.15k
    }
8039
4.65k
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
8032
4.65k
{
8033
4.65k
    if (specs.type != presentation_type::none &&
8034
4.65k
        (specs.type < presentation_type::float_hex ||
8035
3.36k
         specs.type > presentation_type::float_general)) {
8036
3.15k
        SCN_UNLIKELY_ATTR
8037
3.15k
        return handler.on_error("Invalid type specifier for float type");
8038
3.15k
    }
8039
4.65k
}
8040
8041
template <typename Handler>
8042
constexpr void check_string_type_specs(const format_specs& specs,
8043
                                       Handler&& handler)
8044
13.6k
{
8045
13.6k
    if (specs.type == presentation_type::none ||
8046
13.6k
        specs.type == presentation_type::string ||
8047
13.6k
        specs.type == presentation_type::string_set ||
8048
13.6k
        specs.type == presentation_type::regex ||
8049
13.6k
        specs.type == presentation_type::regex_escaped) {
8050
12.2k
        return;
8051
12.2k
    }
8052
1.42k
    if (specs.type == presentation_type::character) {
8053
276
        if (SCN_UNLIKELY(specs.precision == 0)) {
8054
            // clang-format off
8055
12
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
8056
            // clang-format on
8057
12
        }
8058
264
        return;
8059
276
    }
8060
1.14k
    SCN_UNLIKELY_ATTR
8061
1.14k
    handler.on_error("Invalid type specifier for string");
8062
1.14k
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
8044
13.6k
{
8045
13.6k
    if (specs.type == presentation_type::none ||
8046
13.6k
        specs.type == presentation_type::string ||
8047
13.6k
        specs.type == presentation_type::string_set ||
8048
13.6k
        specs.type == presentation_type::regex ||
8049
13.6k
        specs.type == presentation_type::regex_escaped) {
8050
12.2k
        return;
8051
12.2k
    }
8052
1.42k
    if (specs.type == presentation_type::character) {
8053
276
        if (SCN_UNLIKELY(specs.precision == 0)) {
8054
            // clang-format off
8055
12
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
8056
            // clang-format on
8057
12
        }
8058
264
        return;
8059
276
    }
8060
1.14k
    SCN_UNLIKELY_ATTR
8061
1.14k
    handler.on_error("Invalid type specifier for string");
8062
1.14k
}
8063
8064
template <typename Handler>
8065
constexpr void check_pointer_type_specs(const format_specs& specs,
8066
                                        Handler&& handler)
8067
4.54k
{
8068
4.54k
    if (specs.type != presentation_type::none &&
8069
4.54k
        specs.type != presentation_type::pointer) {
8070
3.28k
        SCN_UNLIKELY_ATTR
8071
3.28k
        return handler.on_error("Invalid type specifier for pointer");
8072
3.28k
    }
8073
4.54k
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
8067
4.54k
{
8068
4.54k
    if (specs.type != presentation_type::none &&
8069
4.54k
        specs.type != presentation_type::pointer) {
8070
3.28k
        SCN_UNLIKELY_ATTR
8071
3.28k
        return handler.on_error("Invalid type specifier for pointer");
8072
3.28k
    }
8073
4.54k
}
8074
8075
template <typename Handler>
8076
constexpr void check_bool_type_specs(const format_specs& specs,
8077
                                     Handler&& handler)
8078
4.65k
{
8079
4.65k
    if (specs.type != presentation_type::none &&
8080
4.65k
        specs.type != presentation_type::string &&
8081
4.65k
        specs.type != presentation_type::int_generic &&
8082
4.65k
        specs.type != presentation_type::int_hex &&
8083
4.65k
        specs.type != presentation_type::int_binary &&
8084
4.65k
        specs.type != presentation_type::int_unsigned_decimal &&
8085
4.65k
        specs.type != presentation_type::int_octal &&
8086
4.65k
        specs.type != presentation_type::int_decimal) {
8087
2.77k
        SCN_UNLIKELY_ATTR
8088
2.77k
        return handler.on_error("Invalid type specifier for boolean");
8089
2.77k
    }
8090
4.65k
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
8078
4.65k
{
8079
4.65k
    if (specs.type != presentation_type::none &&
8080
4.65k
        specs.type != presentation_type::string &&
8081
4.65k
        specs.type != presentation_type::int_generic &&
8082
4.65k
        specs.type != presentation_type::int_hex &&
8083
4.65k
        specs.type != presentation_type::int_binary &&
8084
4.65k
        specs.type != presentation_type::int_unsigned_decimal &&
8085
4.65k
        specs.type != presentation_type::int_octal &&
8086
4.65k
        specs.type != presentation_type::int_decimal) {
8087
2.77k
        SCN_UNLIKELY_ATTR
8088
2.77k
        return handler.on_error("Invalid type specifier for boolean");
8089
2.77k
    }
8090
4.65k
}
8091
8092
template <typename Handler>
8093
constexpr void check_regex_type_specs(const format_specs& specs,
8094
                                      Handler&& handler)
8095
0
{
8096
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8097
0
                     specs.charset_string_size == 0)) {
8098
        // clang-format off
8099
0
        return handler.on_error("Regular expression needs to be specified when reading regex_matches");
8100
        // clang-format on
8101
0
    }
8102
0
    if (specs.type == presentation_type::regex ||
8103
0
        specs.type == presentation_type::regex_escaped) {
8104
0
        return;
8105
0
    }
8106
0
    SCN_UNLIKELY_ATTR
8107
0
    handler.on_error("Invalid type specifier for regex_matches");
8108
0
}
8109
}  // namespace detail
8110
8111
/**
8112
 * \defgroup format-string Format strings
8113
 *
8114
 * \brief Format string description
8115
 *
8116
 * The format string syntax is heavily influenced by {fmt} and
8117
 * `std::format`, and is largely compatible with it. Scanning functions,
8118
 * such as `scn::scan` and
8119
 * `scn::input`, use the format string syntax described in this section.
8120
 *
8121
 * Format strings consist of:
8122
 *
8123
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8124
 *
8125
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8126
 *    `{{` and `}}`), which consume exactly one identical character from the
8127
 *    input
8128
 *
8129
 *  * Whitespace characters, which consume any and all available consecutive
8130
 *    whitespace from the input.
8131
 *
8132
 * Literal characters are matched by code point one-to-one, with no
8133
 * normalization being done.
8134
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8135
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8136
 *
8137
 * Characters (code points) are considered to be whitespace characters by
8138
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8139
 * These code points are:
8140
 *
8141
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8142
 *  * U+0085 (next line)
8143
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8144
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8145
 *
8146
 * The grammar for a replacement field is as follows:
8147
 *
8148
 * \code
8149
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8150
 * arg-id              ::= positive-integer
8151
 *
8152
 * format-spec         ::= [fill-and-align]
8153
 *                         [width] [precision]
8154
 *                         ['L'] [type]
8155
 * fill-and-align      ::= [fill] align
8156
 * fill                ::= any character other than
8157
 *                         '{' or '}'
8158
 * align               ::= one of '<' '>' '^'
8159
 * width               ::= positive-integer
8160
 * precision           ::= '.' nonnegative-integer
8161
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8162
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8163
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8164
 * \endcode
8165
 *
8166
 * \section arg-ids Argument IDs
8167
 *
8168
 * The `arg-id` specifier can be used to index arguments manually.
8169
 * If manual indexing is used, all of the indices in a format string must be
8170
 * stated explicitly. The same `arg-id` can appear in the format string
8171
 * only once, and must refer to a valid argument.
8172
 *
8173
 * \code{.cpp}
8174
 * // Format string equivalent to "{0} to {1}"
8175
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8176
 * // a->values() == (2, 300)
8177
 *
8178
 * // Manual indexing
8179
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8180
 * // b->values() == (300, 2)
8181
 *
8182
 * // INVALID:
8183
 * // Automatic and manual indexing is mixed
8184
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8185
 *
8186
 * // INVALID:
8187
 * // Same argument is referred to multiple times
8188
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8189
 *
8190
 * // INVALID:
8191
 * // {2} does not refer to an argument
8192
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8193
 * \endcode
8194
 *
8195
 * \section fill-and-align Fill and align
8196
 *
8197
 * Alignment allows for skipping character before and/or after a value.
8198
 * There are three possible values for alignment:
8199
 *
8200
 * <table>
8201
 * <caption id="align-table">
8202
 * Alignment options
8203
 * </caption>
8204
 *
8205
 * <tr><th>Option</th> <th>Meaning</th></tr>
8206
 *
8207
 * <tr>
8208
 * <td>`<`</td>
8209
 * <td>
8210
 * Align the value to the left (skips fill characters after the value)
8211
 * </td>
8212
 * </tr>
8213
 *
8214
 * <tr>
8215
 * <td>`>`</td>
8216
 * <td>
8217
 * Align the value to the right (skips fill characters before the value)
8218
 * </td>
8219
 * </tr>
8220
 *
8221
 * <tr>
8222
 * <td>`^`</td>
8223
 * <td>
8224
 * Align the value to the center
8225
 * (skips fill characters both before and after the value)
8226
 * </td>
8227
 * </tr>
8228
 * </table>
8229
 *
8230
 * The fill character can be any Unicode code point, except for `{` and `}`.
8231
 * The default fill is the space character `' '`.
8232
 *
8233
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8234
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8235
 * the default alignment is `>`.
8236
 * Otherwise, the default alignment is `<`.
8237
 *
8238
 * In addition to the skipping of fill characters,
8239
 * for format type specifiers with the `>` default alignment,
8240
 * preceding whitespace is automatically skipped.
8241
 * This preceding whitespace isn't counted as part of the field width,
8242
 * as described below.
8243
 *
8244
 * The number of fill characters consumed can be controlled with the width and
8245
 * precision specifiers.
8246
 *
8247
 * \section width Width
8248
 *
8249
 * Width specifies the minimum number of characters that will be read from
8250
 * the source range. It can be any unsigned integer. Any fill characters skipped
8251
 * are included in the width
8252
 *
8253
 * For the purposes of width calculation, the same algorithm is used that in
8254
 * {fmt}. Every code point has a width of one, except the following ones
8255
 * have a width of 2:
8256
 *
8257
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8258
 *   Derived Extracted Property as described by UAX#44
8259
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8260
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8261
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8262
 *
8263
 * \section precision Precision
8264
 *
8265
 * Precision specifies the maximum number of characters that will be read from
8266
 * the source range. The method for counting characters is the same as above,
8267
 * with the width field.
8268
 *
8269
 * \section localized Localized
8270
 *
8271
 * The `L` flag enables localized scanning.
8272
 * Its effects are different for each type it is used with:
8273
 *
8274
 *  * For integers, it enables locale-specific thousands separators
8275
 *  * For floating-point numbers, it enables locale-specific thousands and
8276
 *    radix (decimal) separators
8277
 *  * For booleans, it enables locale-specific textual representations (for
8278
 *    `true` and `false`)
8279
 *  * For other types, it has no effect
8280
 *
8281
 * \section type Type specifier
8282
 *
8283
 * The type specifier determines how the data is to be scanned.
8284
 * The type of the argument to be scanned determines what flags are valid.
8285
 *
8286
 * \subsection type-string Type specifier: strings
8287
 *
8288
 * <table>
8289
 * <caption id="type-string-table">
8290
 * String types (`std::basic_string` and `std::basic_string_view`)
8291
 * </caption>
8292
 * <tr><th>Type</th> <th>Meaning</th></tr>
8293
 * <tr>
8294
 * <td>none, `s`</td>
8295
 * <td>
8296
 * Copies from the input until a whitespace character is encountered, or,
8297
 * if using the `<` (left) or `^` (center) alignment,
8298
 * a fill character is encountered.
8299
 * </td>
8300
 * </tr>
8301
 * <tr>
8302
 * <td>`c`</td>
8303
 * <td>
8304
 * Copies from the input until the field width is exhausted.
8305
 * Doesn't skip preceding whitespace.
8306
 * Errors if no field precision is provided.
8307
 * </td>
8308
 * </tr>
8309
 * <tr>
8310
 * <td>`[...]`</td>
8311
 * <td>
8312
 * Character set matching: copies from the input until a character not specified
8313
 * in the set is encountered. Character ranges can be specified with `-`, and
8314
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8315
 * arbitrary Unicode code points.
8316
 * Doesn't skip preceding whitespace.
8317
 * </td>
8318
 * </tr>
8319
 * <tr>
8320
 * <td>`/<regex>/<flags>`</td>
8321
 * <td>
8322
 * Regular expression matching: copies from the input until the input does not
8323
 * match the regex.
8324
 * Doesn't skip preceding whitespace.
8325
 * \see regex
8326
 * </td>
8327
 * </tr>
8328
 * </table>
8329
 *
8330
 * \note `std::basic_string_view` can only be scanned if the source is
8331
 * contiguous.
8332
 *
8333
 * \subsection type-int Type specifier: integers
8334
 *
8335
 * Integer values are scanned as if by using `std::from_chars`,
8336
 * except a positive `+` sign and a base prefix (like `0x`) are always
8337
 * allowed to be present.
8338
 *
8339
 * <table>
8340
 * <caption id="type-int-table">
8341
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8342
 * `int`, `long`, and `long long`)
8343
 * </caption>
8344
 * <tr><th>Type</th> <th>Meaning</th></tr>
8345
 * <tr>
8346
 * <td>`b`, `B`</td>
8347
 * <td>
8348
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8349
 * </td>
8350
 * </tr>
8351
 * <tr>
8352
 * <td>`o`, `O`</td>
8353
 * <td>
8354
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8355
 * `0`.
8356
 * </td>
8357
 * </tr>
8358
 * <tr>
8359
 * <td>`x`, `X`</td>
8360
 * <td>
8361
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8362
 * </td>
8363
 * </tr>
8364
 * <tr>
8365
 * <td>`d`</td>
8366
 * <td>
8367
 * `std::from_chars` with base `10`. No base prefix allowed.
8368
 * </td>
8369
 * </tr>
8370
 * <tr>
8371
 * <td>`u`</td>
8372
 * <td>
8373
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8374
 * </td>
8375
 * </tr>
8376
 * <tr>
8377
 * <td>`i`</td>
8378
 * <td>
8379
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8380
 * </td>
8381
 * </tr>
8382
 * <tr>
8383
 * <td>`rXX` (where XX = [2, 36])</td>
8384
 * <td>
8385
 * Custom base, without a base prefix (r stands for radix).
8386
 * </td>
8387
 * </tr>
8388
 * <tr>
8389
 * <td>`c`</td>
8390
 * <td>
8391
 * Copies a character (code unit) from the input.
8392
 * </td>
8393
 * </tr>
8394
 * <tr>
8395
 * <td>none</td>
8396
 * <td>
8397
 * Same as `d`.
8398
 * </td>
8399
 * </tr>
8400
 * </table>
8401
 *
8402
 * \subsection type-char Type specifier: characters
8403
 *
8404
 * <table>
8405
 * <caption id="type-char-table">
8406
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8407
 * </caption>
8408
 * <tr><th>Type</th> <th>Meaning</th></tr>
8409
 * <tr>
8410
 * <td>none, `c`</td>
8411
 * <td>
8412
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8413
 * input.
8414
 * </td>
8415
 * </tr>
8416
 * <tr>
8417
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8418
 * <td>
8419
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8420
 * </td>
8421
 * </tr>
8422
 * </table>
8423
 *
8424
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8425
 * read a single code unit at a time, and encoding is not respected.
8426
 *
8427
 * \subsection type-float Type specifier: floating-point values
8428
 *
8429
 * Floating-point values are scanned as if by using `std::from_chars`,
8430
 * except a positive `+` sign and a base prefix (like `0x`) are always
8431
 * allowed to be present.
8432
 *
8433
 * <table>
8434
 * <caption id="type-float-table">
8435
 * Floating-point types (`float`, `double`, and `long double`)
8436
 * </caption>
8437
 * <tr><th>Type</th> <th>Meaning</th></tr>
8438
 * <tr>
8439
 * <td>`a`, `A`</td>
8440
 * <td>
8441
 * `std::from_chars` with `std::chars_format::hex`.
8442
 * Prefix `0x`/`0X` is allowed.
8443
 * </td>
8444
 * </tr>
8445
 * <tr>
8446
 * <td>`e`, `E`</td>
8447
 * <td>
8448
 * `std::from_chars` with `std::chars_format::scientific`.
8449
 * </td>
8450
 * </tr>
8451
 * <tr>
8452
 * <td>`f`, `F`</td>
8453
 * <td>
8454
 * `std::from_chars` with `std::chars_format::fixed`.
8455
 * </td>
8456
 * </tr>
8457
 * <tr>
8458
 * <td>`g`, `G`</td>
8459
 * <td>
8460
 * `std::from_chars` with `std::chars_format::general`.
8461
 * </td>
8462
 * </tr>
8463
 * <tr>
8464
 * <td>none</td>
8465
 * <td>
8466
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8467
 * Prefix `0x`/`0X` is allowed.
8468
 * </td>
8469
 * </tr>
8470
 * </table>
8471
 *
8472
 * \subsection type-bool Type specifier: booleans
8473
 *
8474
 * <table>
8475
 * <caption id="type-bool-table">
8476
 * `bool`
8477
 * </caption>
8478
 * <tr><th>Type</th> <th>Meaning</th></tr>
8479
 * <tr>
8480
 * <td>`s`</td>
8481
 * <td>
8482
 * Allows for the textual representation (`true` or `false`).
8483
 * </td>
8484
 * </tr>
8485
 * <tr>
8486
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8487
 * <td>
8488
 * Allows for the integral/numeric representation (`0` or `1`).
8489
 * </td>
8490
 * </tr>
8491
 * <tr>
8492
 * <td>none</td>
8493
 * <td>
8494
 * Allows for both the textual and the integral/numeric representation.
8495
 * </td>
8496
 * </tr>
8497
 * </table>
8498
 */
8499
8500
namespace detail {
8501
/**
8502
 * A runtime format string
8503
 *
8504
 * \ingroup format-string
8505
 */
8506
template <typename CharT>
8507
struct basic_runtime_format_string {
8508
186k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8508
62.2k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8508
124k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8509
8510
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8511
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8512
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8513
        delete;
8514
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8515
        delete;
8516
    ~basic_runtime_format_string() = default;
8517
8518
    std::basic_string_view<CharT> str;
8519
};
8520
}  // namespace detail
8521
8522
/**
8523
 * Create a runtime format string
8524
 *
8525
 * Can be used to avoid compile-time format string checking
8526
 *
8527
 * \ingroup format-string
8528
 */
8529
inline detail::basic_runtime_format_string<char> runtime_format(
8530
    std::string_view s)
8531
62.2k
{
8532
62.2k
    return s;
8533
62.2k
}
8534
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8535
    std::wstring_view s)
8536
124k
{
8537
124k
    return s;
8538
124k
}
8539
8540
namespace detail {
8541
struct compile_string {};
8542
8543
template <typename Str>
8544
inline constexpr bool is_compile_string_v =
8545
    std::is_base_of_v<compile_string, Str>;
8546
8547
template <typename Scanner, typename ParseCtx>
8548
using dt_scanner_parse =
8549
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8550
template <typename Scanner, typename T, typename Ctx>
8551
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8552
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8553
8554
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8555
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8556
    ParseCtx& parse_ctx)
8557
{
8558
    static_assert(
8559
        std::is_default_constructible_v<Scanner>,
8560
        "Specializations of scn::scanner must be default constructible");
8561
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8562
                  "Specializations of scn::scanner must have a "
8563
                  "parse(ParseContext&) member function.");
8564
    static_assert(
8565
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8566
                       typename ParseCtx::iterator>,
8567
        "scn::scanner::parse(ParseContext&) must return "
8568
        "ParseContext::iterator. To report an error from scanner::parse, "
8569
        "either throw an exception derived from scn::scan_format_string_error, "
8570
        "or call ParseContext::on_error.");
8571
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8572
                  "Specializations of scn::scanner must have a "
8573
                  "scan(T&, Context&) const member function.");
8574
    static_assert(
8575
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8576
                       scan_expected<typename Ctx::iterator>>,
8577
        "scn::scanner::scan(T&, Context&) must return "
8578
        "scan_expected<Context::iterator>.");
8579
8580
    auto s = Scanner{};
8581
    return s.parse(parse_ctx);
8582
}
8583
8584
template <typename T, typename Ctx, typename ParseCtx>
8585
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8586
{
8587
    using char_type = typename Ctx::char_type;
8588
    using map_result =
8589
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8590
            SCN_DECLVAL(T&)))>;
8591
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8592
        // Error will be reported by static_assert in make_value(),
8593
        // let's not muddy the compiler error by making more of them.
8594
        return parse_ctx.begin();
8595
    }
8596
    else {
8597
        using mapped_type =
8598
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8599
                                   arg_type::custom_type,
8600
                               map_result, T>;
8601
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8602
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8603
            parse_ctx);
8604
    }
8605
}
8606
8607
template <typename CharT, typename Source, typename... Args>
8608
class format_string_checker {
8609
public:
8610
    using parse_context_type = compile_parse_context<CharT>;
8611
    static constexpr auto num_args = sizeof...(Args);
8612
8613
    explicit constexpr format_string_checker(
8614
        std::basic_string_view<CharT> format_str)
8615
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8616
          m_parse_funcs{&parse_format_specs<Args,
8617
                                            default_context<CharT>,
8618
                                            parse_context_type>...},
8619
          m_types{arg_type_constant<Args, CharT>::value...}
8620
    {
8621
    }
8622
8623
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8624
    {
8625
        // TODO: Do we want to validate Unicode in format strings?
8626
        // We're dealing with text, so we probably do.
8627
        // We could do codeunit-to-codeunit matching,
8628
        // but that could get messy wrt. whitespace matching.
8629
        // It's simpler to not allow nonsense.
8630
        while (begin != end) {
8631
            const auto len = code_point_length_by_starting_code_unit(*begin);
8632
            if (SCN_UNLIKELY(len == 0 ||
8633
                             static_cast<size_t>(end - begin) < len)) {
8634
                return on_error("Invalid encoding in format string");
8635
            }
8636
8637
            const auto cp = decode_code_point_exhaustive(
8638
                std::basic_string_view<CharT>{begin, len});
8639
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8640
                return on_error("Invalid encoding in format string");
8641
            }
8642
8643
            begin += len;
8644
        }
8645
    }
8646
8647
    constexpr auto on_arg_id()
8648
    {
8649
        return m_parse_context.next_arg_id();
8650
    }
8651
    constexpr auto on_arg_id(std::size_t id)
8652
    {
8653
        m_parse_context.check_arg_id(id);
8654
        return id;
8655
    }
8656
8657
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8658
    {
8659
        set_arg_as_read(id);
8660
8661
        auto type = m_types[id];
8662
        check_arg_can_be_read(type);
8663
8664
        if (type == arg_type::custom_type && id < num_args) {
8665
            // Only call scanner::parse to check for errors,
8666
            // we're discarding the result.
8667
            // The advance_to dance is done to point the parse context to the
8668
            // character after the `{`; right now, it points to that
8669
            const auto beg = begin;
8670
            m_parse_context.advance_to(begin);
8671
            m_parse_funcs[id](m_parse_context);
8672
            m_parse_context.advance_to(beg);
8673
        }
8674
    }
8675
8676
    constexpr const CharT* on_format_specs(std::size_t id,
8677
                                           const CharT* begin,
8678
                                           const CharT*)
8679
    {
8680
        set_arg_as_read(id);
8681
        check_arg_can_be_read(m_types[id]);
8682
8683
        m_parse_context.advance_to(begin);
8684
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8685
    }
8686
8687
    constexpr void check_args_exhausted()
8688
    {
8689
        if constexpr (num_args == 0) {
8690
            return;
8691
        }
8692
        for (auto is_set : m_visited_args) {
8693
            if (!is_set) {
8694
                return on_error("Argument list not exhausted");
8695
            }
8696
        }
8697
    }
8698
8699
    void on_error(const char* msg)
8700
    {
8701
        SCN_UNLIKELY_ATTR
8702
        m_parse_context.on_error(msg);
8703
    }
8704
8705
    // Only to satisfy the concept and eliminate compiler errors,
8706
    // because errors are reported by failing to compile on_error above
8707
    // (it's not constexpr)
8708
    constexpr scan_expected<void> get_error() const
8709
    {
8710
        return {};
8711
    }
8712
8713
private:
8714
    constexpr void set_arg_as_read(size_t id)
8715
    {
8716
        if (id >= num_args) {
8717
            return on_error("Invalid out-of-range argument ID");
8718
        }
8719
        if (m_visited_args[id]) {
8720
            return on_error("Argument with this ID already scanned");
8721
        }
8722
        m_visited_args[id] = true;
8723
    }
8724
8725
    constexpr void check_arg_can_be_read(arg_type type)
8726
    {
8727
        if (type == arg_type::string_view_type &&
8728
            !m_parse_context.is_source_contiguous()) {
8729
            // clang-format off
8730
            return on_error("Cannot read a string_view from a non-contiguous source");
8731
            // clang-format on
8732
        }
8733
        if (type == arg_type::string_view_type &&
8734
            !m_parse_context.is_source_borrowed()) {
8735
            // clang-format off
8736
            return on_error("Cannot read a string_view from a non-borrowed source");
8737
            // clang-format on
8738
        }
8739
    }
8740
8741
    using parse_func = const CharT* (*)(parse_context_type&);
8742
8743
    parse_context_type m_parse_context;
8744
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8745
    arg_type m_types[num_args > 0 ? num_args : 1];
8746
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8747
};
8748
8749
template <typename Source, typename... Args, typename Str>
8750
constexpr auto check_format_string(const Str&)
8751
    -> std::enable_if_t<!is_compile_string_v<Str>>
8752
0
{
8753
    // TODO: SCN_ENFORE_COMPILE_STRING?
8754
#if 0  // SCN_ENFORE_COMPILE_STRING
8755
    static_assert(dependent_false<Str>::value,
8756
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8757
              "strings to use SCN_STRING.");
8758
#endif
8759
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8760
8761
template <typename Source, typename... Args, typename Str>
8762
constexpr auto check_format_string(Str format_str)
8763
    -> std::enable_if_t<is_compile_string_v<Str>>
8764
{
8765
    using char_type = typename Str::char_type;
8766
8767
    SCN_GCC_PUSH
8768
    SCN_GCC_IGNORE("-Wconversion")
8769
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8770
    SCN_GCC_POP
8771
8772
    using checker = format_string_checker<char_type, Source, Args...>;
8773
    constexpr bool invalid_format =
8774
        (parse_format_string<true>(s, checker(s)), true);
8775
    SCN_UNUSED(invalid_format);
8776
}
8777
8778
template <typename CharT, std::size_t N>
8779
constexpr std::basic_string_view<CharT> compile_string_to_view(
8780
    const CharT (&s)[N])
8781
{
8782
    return {s, N - 1};
8783
}
8784
template <typename CharT>
8785
constexpr std::basic_string_view<CharT> compile_string_to_view(
8786
    std::basic_string_view<CharT> s)
8787
{
8788
    return s;
8789
}
8790
}  // namespace detail
8791
8792
#define SCN_STRING_IMPL(s, base, expl)                                       \
8793
    [] {                                                                     \
8794
        struct SCN_COMPILE_STRING : base {                                   \
8795
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8796
            SCN_MAYBE_UNUSED constexpr expl                                  \
8797
            operator ::std::basic_string_view<char_type>() const             \
8798
            {                                                                \
8799
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8800
            }                                                                \
8801
        };                                                                   \
8802
        return SCN_COMPILE_STRING{};                                         \
8803
    }()
8804
8805
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8806
8807
/**
8808
 * Compile-time format string
8809
 *
8810
 * \ingroup format-string
8811
 */
8812
template <typename CharT, typename Source, typename... Args>
8813
class basic_scan_format_string {
8814
public:
8815
    SCN_CLANG_PUSH
8816
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8817
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8818
#endif
8819
    template <
8820
        typename S,
8821
        std::enable_if_t<
8822
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8823
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8824
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8825
0
    {
8826
#if SCN_HAS_CONSTEVAL
8827
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8828
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8829
        SCN_UNUSED(e);
8830
#else
8831
0
        detail::check_format_string<Source, Args...>(s);
8832
0
#endif
8833
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8834
    SCN_CLANG_POP
8835
8836
    template <
8837
        typename OtherSource,
8838
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8839
                                        detail::remove_cvref_t<OtherSource>> &&
8840
                         ranges::borrowed_range<Source> ==
8841
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8842
    constexpr basic_scan_format_string(
8843
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8844
        : m_str(other.get())
8845
    {
8846
    }
8847
8848
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8849
186k
        : m_str(r.str)
8850
186k
    {
8851
186k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
6.92k
        : m_str(r.str)
8850
6.92k
    {
8851
6.92k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
13.8k
        : m_str(r.str)
8850
13.8k
    {
8851
13.8k
    }
8852
8853
    constexpr operator std::basic_string_view<CharT>() const
8854
186k
    {
8855
186k
        return m_str;
8856
186k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
6.92k
    {
8855
6.92k
        return m_str;
8856
6.92k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
13.8k
    {
8855
13.8k
        return m_str;
8856
13.8k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8857
    constexpr std::basic_string_view<CharT> get() const
8858
    {
8859
        return m_str;
8860
    }
8861
8862
private:
8863
    std::basic_string_view<CharT> m_str;
8864
};
8865
8866
namespace detail {
8867
class locale_ref {
8868
#if !SCN_DISABLE_LOCALE
8869
public:
8870
102k
    constexpr locale_ref() = default;
8871
8872
    template <typename Locale>
8873
    explicit locale_ref(const Locale& loc);
8874
8875
    constexpr explicit operator bool() const noexcept
8876
0
    {
8877
0
        return m_locale != nullptr;
8878
0
    }
8879
8880
    template <typename Locale>
8881
    Locale get() const;
8882
8883
private:
8884
    const void* m_locale{nullptr};
8885
#else
8886
public:
8887
    constexpr locale_ref() = default;
8888
8889
    template <typename T>
8890
    constexpr explicit locale_ref(T&&)
8891
    {
8892
    }
8893
8894
    constexpr explicit operator bool() const noexcept
8895
    {
8896
        return true;
8897
    }
8898
#endif
8899
};
8900
}  // namespace detail
8901
8902
/////////////////////////////////////////////////////////////////
8903
// scan_context
8904
/////////////////////////////////////////////////////////////////
8905
8906
namespace detail {
8907
template <typename I>
8908
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8909
template <typename I>
8910
inline constexpr bool is_comparable_with_nullptr =
8911
    mp_valid_v<apply_cmp_with_nullptr, I>;
8912
8913
template <typename Args>
8914
class scan_context_base {
8915
public:
8916
    /// Get argument at index `id`
8917
    constexpr auto arg(size_t id) const noexcept
8918
59.4k
    {
8919
59.4k
        return m_args.get(id);
8920
59.4k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
8918
37.9k
    {
8919
37.9k
        return m_args.get(id);
8920
37.9k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8918
21.4k
    {
8919
21.4k
        return m_args.get(id);
8920
21.4k
    }
8921
8922
    constexpr const Args& args() const
8923
11.2k
    {
8924
11.2k
        return m_args;
8925
11.2k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Line
Count
Source
8923
5.96k
    {
8924
5.96k
        return m_args;
8925
5.96k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
Line
Count
Source
8923
5.28k
    {
8924
5.28k
        return m_args;
8925
5.28k
    }
8926
8927
    SCN_NODISCARD constexpr locale_ref locale() const
8928
52.9k
    {
8929
52.9k
        return m_locale;
8930
52.9k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
8928
34.3k
    {
8929
34.3k
        return m_locale;
8930
34.3k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
8928
18.5k
    {
8929
18.5k
        return m_locale;
8930
18.5k
    }
8931
8932
protected:
8933
    scan_context_base(Args args, locale_ref loc)
8934
186k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
186k
    {
8936
186k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8934
62.2k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
62.2k
    {
8936
62.2k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8934
124k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
124k
    {
8936
124k
    }
8937
8938
    Args m_args;
8939
    locale_ref m_locale;
8940
};
8941
}  // namespace detail
8942
8943
/**
8944
 * \defgroup ctx Contexts and scanners
8945
 *
8946
 * \brief Lower-level APIs used for scanning individual values
8947
 *
8948
 * \section user-defined Scanning user-defined types
8949
 *
8950
 * User-defined types can be scanned by specializing the class template
8951
 * `scn::scanner`.
8952
 *
8953
 * \code{.cpp}
8954
 * struct mytype {
8955
 *   int key;
8956
 *   std::string value;
8957
 * };
8958
 *
8959
 * template <>
8960
 * struct scn::scanner<mytype> {
8961
 *   template <typename ParseContext>
8962
 *   constexpr auto parse(ParseCtx& pctx)
8963
 *     -> typename ParseContext::iterator {
8964
 *     // parse() implementation just returning begin():
8965
 *     // only permits empty format specifiers
8966
 *     return pctx.begin();
8967
 *   }
8968
 *
8969
 *   template <typename Context>
8970
 *   auto scan(mytype& val, Context& ctx)
8971
 *     -> scan_expected<typename Context::iterator> {
8972
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8973
 *       .transform([&](auto result) {
8974
 *         std::tie(val.key, val.value) = std::move(result->values());
8975
 *         return result.begin();
8976
 *       });
8977
 *   }
8978
 * };
8979
 * \endcode
8980
 *
8981
 * See also
8982
 * \ref g-usertypes
8983
 */
8984
8985
/**
8986
 * Scanning context.
8987
 *
8988
 * \ingroup ctx
8989
 */
8990
template <typename Range, typename CharT>
8991
class basic_scan_context
8992
    : public detail::scan_context_base<
8993
          basic_scan_args<basic_scan_context<Range, CharT>>> {
8994
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8995
8996
    using args_type = basic_scan_args<basic_scan_context>;
8997
    using arg_type = basic_scan_arg<basic_scan_context>;
8998
8999
public:
9000
    /// Character type of the input
9001
    using char_type = CharT;
9002
    using range_type = std::conditional_t<
9003
        std::is_same_v<Range, detail::buffer_range_tag>,
9004
        typename detail::basic_scan_buffer<char_type>::range_type,
9005
        Range>;
9006
    using iterator = ranges::iterator_t<range_type>;
9007
    using sentinel = ranges::sentinel_t<range_type>;
9008
    using parse_context_type = basic_scan_parse_context<char_type>;
9009
9010
    /**
9011
     * The scanner type associated with this scanning context.
9012
     */
9013
    template <typename T>
9014
    using scanner_type = scanner<T, char_type>;
9015
9016
    constexpr basic_scan_context(iterator curr,
9017
                                 args_type a,
9018
                                 detail::locale_ref loc = {})
9019
0
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
0
    {
9021
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
9022
9023
    basic_scan_context(const basic_scan_context&) = delete;
9024
    basic_scan_context& operator=(const basic_scan_context&) = delete;
9025
9026
    basic_scan_context(basic_scan_context&&) = default;
9027
    basic_scan_context& operator=(basic_scan_context&&) = default;
9028
    ~basic_scan_context() = default;
9029
9030
    /**
9031
     * Returns an iterator pointing to the current position in the source
9032
     * range.
9033
     */
9034
    constexpr iterator begin() const
9035
0
    {
9036
0
        return m_current;
9037
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
9038
9039
    /**
9040
     * Returns a sentinel pointing to the end of the source range.
9041
     */
9042
    constexpr sentinel end() const
9043
0
    {
9044
0
        return ranges::default_sentinel;
9045
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
9046
9047
    /**
9048
     * Returns a subrange over `[begin(), end())`
9049
     */
9050
    constexpr auto range() const
9051
0
    {
9052
0
        return ranges::subrange{begin(), end()};
9053
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
9054
9055
    /// Advances the beginning of the source range to `it`
9056
    void advance_to(iterator it)
9057
0
    {
9058
0
        m_current = SCN_MOVE(it);
9059
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
9060
9061
private:
9062
    iterator m_current;
9063
};
9064
9065
namespace detail {
9066
template <typename T, typename ParseCtx>
9067
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9068
    ParseCtx& pctx,
9069
    format_specs& specs);
9070
9071
template <typename T, typename Context>
9072
scan_expected<typename Context::iterator>
9073
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9074
9075
template <typename T, typename CharT>
9076
struct builtin_scanner {
9077
    template <typename ParseCtx>
9078
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9079
    {
9080
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9081
    }
9082
9083
    template <typename Context>
9084
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9085
    {
9086
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9087
    }
9088
9089
protected:
9090
    format_specs m_specs;
9091
};
9092
}  // namespace detail
9093
9094
/////////////////////////////////////////////////////////////////
9095
// scanner
9096
/////////////////////////////////////////////////////////////////
9097
9098
/**
9099
 * `scanner` specialization for all built-in types
9100
 *
9101
 * \ingroup ctx
9102
 */
9103
template <typename T, typename CharT>
9104
struct scanner<T,
9105
               CharT,
9106
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9107
                                    detail::arg_type::custom_type &&
9108
                                !detail::is_type_disabled<T>>>
9109
    : detail::builtin_scanner<T, CharT> {};
9110
9111
namespace detail {
9112
template <typename T, typename ParseCtx>
9113
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9114
    ParseCtx& pctx,
9115
    format_specs& specs)
9116
{
9117
    using char_type = typename ParseCtx::char_type;
9118
9119
    auto begin = pctx.begin();
9120
    const auto end = pctx.end();
9121
9122
    using handler_type = specs_setter;
9123
    constexpr auto type = arg_type_constant<T, char_type>::value;
9124
    auto checker =
9125
        detail::specs_checker<handler_type>(handler_type(specs), type);
9126
9127
    const auto it =
9128
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9129
9130
    switch (type) {
9131
        case arg_type::none_type:
9132
            SCN_FALLTHROUGH;
9133
        case arg_type::custom_type:
9134
            SCN_ENSURE(false);
9135
            break;
9136
9137
        case arg_type::bool_type:
9138
            check_bool_type_specs(specs, checker);
9139
            break;
9140
9141
        case arg_type::schar_type:
9142
        case arg_type::short_type:
9143
        case arg_type::int_type:
9144
        case arg_type::long_type:
9145
        case arg_type::llong_type:
9146
        case arg_type::int128_type:
9147
        case arg_type::uchar_type:
9148
        case arg_type::ushort_type:
9149
        case arg_type::uint_type:
9150
        case arg_type::ulong_type:
9151
        case arg_type::ullong_type:
9152
        case arg_type::uint128_type:
9153
            check_int_type_specs(specs, checker);
9154
            break;
9155
9156
        case arg_type::narrow_character_type:
9157
        case arg_type::wide_character_type:
9158
        case arg_type::code_point_type:
9159
            check_char_type_specs(specs, checker);
9160
            break;
9161
9162
        case arg_type::float_type:
9163
        case arg_type::double_type:
9164
        case arg_type::ldouble_type:
9165
        case arg_type::float16_type:
9166
        case arg_type::float32_type:
9167
        case arg_type::float64_type:
9168
        case arg_type::float128_type:
9169
        case arg_type::bfloat16_type:
9170
            check_float_type_specs(specs, checker);
9171
            break;
9172
9173
        case arg_type::narrow_string_type:
9174
        case arg_type::wide_string_type:
9175
        case arg_type::string_view_type:
9176
            check_string_type_specs(specs, checker);
9177
            break;
9178
9179
        case arg_type::pointer_type:
9180
            check_pointer_type_specs(specs, checker);
9181
            break;
9182
9183
            SCN_CLANG_PUSH
9184
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9185
9186
        default:
9187
            SCN_ENSURE(false);
9188
            SCN_UNREACHABLE;
9189
9190
            SCN_CLANG_POP
9191
    }
9192
9193
    if (specs.type == presentation_type::regex ||
9194
        specs.type == presentation_type::regex_escaped) {
9195
        if (!pctx.is_source_contiguous()) {
9196
            SCN_UNLIKELY_ATTR
9197
            // clang-format off
9198
            checker.on_error("Cannot read a regex from a non-contiguous source");
9199
            // clang-format on
9200
        }
9201
        if (!pctx.is_source_borrowed()) {
9202
            SCN_UNLIKELY_ATTR
9203
            checker.on_error("Cannot read a regex from a non-borrowed source");
9204
        }
9205
    }
9206
9207
    return it;
9208
}
9209
}  // namespace detail
9210
9211
/**
9212
 * Type for discarding any scanned value.
9213
 * Example:
9214
 *
9215
 * \code{.cpp}
9216
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9217
 * // r.has_value() == true
9218
 * // decltype(r->value()) is scn::discard<int>
9219
 * \endcode
9220
 *
9221
 * \ingroup format-string
9222
 */
9223
template <typename T>
9224
struct discard {
9225
    constexpr discard() = default;
9226
9227
    constexpr discard(const T&) noexcept {}
9228
    constexpr discard(T&&) noexcept {}
9229
9230
    constexpr discard& operator=(const T&) noexcept
9231
    {
9232
        return *this;
9233
    }
9234
    constexpr discard& operator=(T&&) noexcept
9235
    {
9236
        return *this;
9237
    }
9238
};
9239
9240
template <typename T, typename CharT>
9241
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9242
    template <typename Context>
9243
    auto scan(discard<T>&, Context& ctx) const
9244
    {
9245
        T val{};
9246
        return scanner<T, CharT>::scan(val, ctx);
9247
    }
9248
};
9249
9250
namespace detail {
9251
template <typename Range>
9252
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9253
    Range r,
9254
    bool allow_exhaustion);
9255
9256
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9257
    extern template scan_expected<Context::iterator>         \
9258
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9259
9260
#if SCN_HAS_INT128
9261
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)   \
9262
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int128, Context) \
9263
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(uint128, Context)
9264
#else
9265
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context) /* int128 */
9266
#endif
9267
9268
#if SCN_HAS_STD_F16
9269
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) \
9270
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float16_t, Context)
9271
#else
9272
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) /* std::float16_t */
9273
#endif
9274
9275
#if SCN_HAS_STD_F32
9276
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) \
9277
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float32_t, Context)
9278
#else
9279
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) /* std::float32_t */
9280
#endif
9281
9282
#if SCN_HAS_STD_F64
9283
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) \
9284
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float64_t, Context)
9285
#else
9286
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) /* std::float64_t */
9287
#endif
9288
9289
#if SCN_HAS_STD_F128
9290
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context) \
9291
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float128_t, Context)
9292
#else
9293
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)  /* std::float128_t \
9294
                                                            */
9295
#endif
9296
9297
#if SCN_HAS_STD_BF16
9298
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context) \
9299
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::bfloat16_t, Context)
9300
#else
9301
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)  /* std::bfloat16_t \
9302
                                                            */
9303
#endif
9304
9305
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context) \
9306
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context)           \
9307
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context)           \
9308
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context)           \
9309
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)          \
9310
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)
9311
9312
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9313
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9314
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9315
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9316
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9317
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9318
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9319
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9320
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9321
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9322
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9323
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9324
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9325
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9326
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9327
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9328
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9329
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9330
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9331
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9332
        std::basic_string_view<Context::char_type>, Context)               \
9333
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9334
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9335
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)                    \
9336
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context)                 \
9337
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9338
    internal_skip_classic_whitespace(Context::range_type, bool);
9339
9340
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9341
9342
}  // namespace detail
9343
9344
/////////////////////////////////////////////////////////////////
9345
// visit_scan_arg
9346
/////////////////////////////////////////////////////////////////
9347
9348
namespace detail {
9349
9350
template <typename Visitor, typename Ctx>
9351
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9352
52.1k
{
9353
52.1k
#define SCN_VISIT(Type)                                                \
9354
341k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
341k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
341k
    }                                                                  \
9357
341k
    else {                                                             \
9358
341k
        return vis(monostate_val);                                     \
9359
341k
    }
9360
9361
52.1k
    monostate monostate_val{};
9362
9363
52.1k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
5.85k
        case detail::arg_type::int_type:
9369
5.85k
            SCN_VISIT(int);
9370
5.85k
        case detail::arg_type::long_type:
9371
5.85k
            SCN_VISIT(long);
9372
5.85k
        case detail::arg_type::llong_type:
9373
5.85k
            SCN_VISIT(long long);
9374
5.85k
        case detail::arg_type::int128_type:
9375
5.85k
#if SCN_HAS_INT128
9376
5.85k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
5.85k
        case detail::arg_type::uchar_type:
9381
5.85k
            SCN_VISIT(unsigned char);
9382
5.85k
        case detail::arg_type::ushort_type:
9383
5.85k
            SCN_VISIT(unsigned short);
9384
11.7k
        case detail::arg_type::uint_type:
9385
11.7k
            SCN_VISIT(unsigned);
9386
11.7k
        case detail::arg_type::ulong_type:
9387
11.7k
            SCN_VISIT(unsigned long);
9388
11.7k
        case detail::arg_type::ullong_type:
9389
11.7k
            SCN_VISIT(unsigned long long);
9390
11.7k
        case detail::arg_type::uint128_type:
9391
11.7k
#if SCN_HAS_INT128
9392
11.7k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
17.4k
        case detail::arg_type::pointer_type:
9397
17.4k
            SCN_VISIT(void*);
9398
23.3k
        case detail::arg_type::bool_type:
9399
23.3k
            SCN_VISIT(bool);
9400
27.0k
        case detail::arg_type::narrow_character_type:
9401
27.0k
            SCN_VISIT(char);
9402
29.0k
        case detail::arg_type::wide_character_type:
9403
29.0k
            SCN_VISIT(wchar_t);
9404
29.0k
        case detail::arg_type::code_point_type:
9405
29.0k
            SCN_VISIT(char32_t);
9406
29.0k
        case detail::arg_type::float_type:
9407
29.0k
            SCN_VISIT(float);
9408
34.9k
        case detail::arg_type::double_type:
9409
34.9k
            SCN_VISIT(double);
9410
34.9k
        case detail::arg_type::ldouble_type:
9411
34.9k
            SCN_VISIT(long double);
9412
34.9k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
34.9k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
5.74k
        case detail::arg_type::narrow_string_type:
9443
5.74k
            SCN_VISIT(std::string);
9444
11.4k
        case detail::arg_type::wide_string_type:
9445
11.4k
            SCN_VISIT(std::wstring);
9446
17.2k
        case detail::arg_type::string_view_type: {
9447
17.2k
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
11.2k
                SCN_VISIT(std::string_view);
9449
            }
9450
5.97k
            else {
9451
5.97k
                SCN_VISIT(std::wstring_view);
9452
5.97k
            }
9453
17.2k
        }
9454
9455
17.2k
        case detail::arg_type::custom_type:
9456
17.2k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
17.2k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
17.2k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
52.1k
            SCN_CLANG_POP
9473
52.1k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
5.68k
{
9353
5.68k
#define SCN_VISIT(Type)                                                \
9354
5.68k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
5.68k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
5.68k
    }                                                                  \
9357
5.68k
    else {                                                             \
9358
5.68k
        return vis(monostate_val);                                     \
9359
5.68k
    }
9360
9361
5.68k
    monostate monostate_val{};
9362
9363
5.68k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
632
        case detail::arg_type::int_type:
9369
632
            SCN_VISIT(int);
9370
632
        case detail::arg_type::long_type:
9371
632
            SCN_VISIT(long);
9372
632
        case detail::arg_type::llong_type:
9373
632
            SCN_VISIT(long long);
9374
632
        case detail::arg_type::int128_type:
9375
632
#if SCN_HAS_INT128
9376
632
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
632
        case detail::arg_type::uchar_type:
9381
632
            SCN_VISIT(unsigned char);
9382
632
        case detail::arg_type::ushort_type:
9383
632
            SCN_VISIT(unsigned short);
9384
1.26k
        case detail::arg_type::uint_type:
9385
1.26k
            SCN_VISIT(unsigned);
9386
1.26k
        case detail::arg_type::ulong_type:
9387
1.26k
            SCN_VISIT(unsigned long);
9388
1.26k
        case detail::arg_type::ullong_type:
9389
1.26k
            SCN_VISIT(unsigned long long);
9390
1.26k
        case detail::arg_type::uint128_type:
9391
1.26k
#if SCN_HAS_INT128
9392
1.26k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
1.89k
        case detail::arg_type::pointer_type:
9397
1.89k
            SCN_VISIT(void*);
9398
2.52k
        case detail::arg_type::bool_type:
9399
2.52k
            SCN_VISIT(bool);
9400
3.16k
        case detail::arg_type::narrow_character_type:
9401
3.16k
            SCN_VISIT(char);
9402
3.16k
        case detail::arg_type::wide_character_type:
9403
3.16k
            SCN_VISIT(wchar_t);
9404
3.16k
        case detail::arg_type::code_point_type:
9405
3.16k
            SCN_VISIT(char32_t);
9406
3.16k
        case detail::arg_type::float_type:
9407
3.16k
            SCN_VISIT(float);
9408
3.79k
        case detail::arg_type::double_type:
9409
3.79k
            SCN_VISIT(double);
9410
3.79k
        case detail::arg_type::ldouble_type:
9411
3.79k
            SCN_VISIT(long double);
9412
3.79k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
3.79k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
632
        case detail::arg_type::narrow_string_type:
9443
632
            SCN_VISIT(std::string);
9444
1.26k
        case detail::arg_type::wide_string_type:
9445
1.26k
            SCN_VISIT(std::wstring);
9446
1.89k
        case detail::arg_type::string_view_type: {
9447
1.89k
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
1.89k
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
1.89k
        }
9454
9455
1.89k
        case detail::arg_type::custom_type:
9456
1.89k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
1.89k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
1.89k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
5.68k
            SCN_CLANG_POP
9473
5.68k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
28.2k
{
9353
28.2k
#define SCN_VISIT(Type)                                                \
9354
28.2k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
28.2k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
28.2k
    }                                                                  \
9357
28.2k
    else {                                                             \
9358
28.2k
        return vis(monostate_val);                                     \
9359
28.2k
    }
9360
9361
28.2k
    monostate monostate_val{};
9362
9363
28.2k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
3.16k
        case detail::arg_type::int_type:
9369
3.16k
            SCN_VISIT(int);
9370
3.16k
        case detail::arg_type::long_type:
9371
3.16k
            SCN_VISIT(long);
9372
3.16k
        case detail::arg_type::llong_type:
9373
3.16k
            SCN_VISIT(long long);
9374
3.16k
        case detail::arg_type::int128_type:
9375
3.16k
#if SCN_HAS_INT128
9376
3.16k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
3.16k
        case detail::arg_type::uchar_type:
9381
3.16k
            SCN_VISIT(unsigned char);
9382
3.16k
        case detail::arg_type::ushort_type:
9383
3.16k
            SCN_VISIT(unsigned short);
9384
6.33k
        case detail::arg_type::uint_type:
9385
6.33k
            SCN_VISIT(unsigned);
9386
6.33k
        case detail::arg_type::ulong_type:
9387
6.33k
            SCN_VISIT(unsigned long);
9388
6.33k
        case detail::arg_type::ullong_type:
9389
6.33k
            SCN_VISIT(unsigned long long);
9390
6.33k
        case detail::arg_type::uint128_type:
9391
6.33k
#if SCN_HAS_INT128
9392
6.33k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
9.45k
        case detail::arg_type::pointer_type:
9397
9.45k
            SCN_VISIT(void*);
9398
12.6k
        case detail::arg_type::bool_type:
9399
12.6k
            SCN_VISIT(bool);
9400
15.7k
        case detail::arg_type::narrow_character_type:
9401
15.7k
            SCN_VISIT(char);
9402
15.7k
        case detail::arg_type::wide_character_type:
9403
15.7k
            SCN_VISIT(wchar_t);
9404
15.7k
        case detail::arg_type::code_point_type:
9405
15.7k
            SCN_VISIT(char32_t);
9406
15.7k
        case detail::arg_type::float_type:
9407
15.7k
            SCN_VISIT(float);
9408
18.9k
        case detail::arg_type::double_type:
9409
18.9k
            SCN_VISIT(double);
9410
18.9k
        case detail::arg_type::ldouble_type:
9411
18.9k
            SCN_VISIT(long double);
9412
18.9k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
18.9k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
3.12k
        case detail::arg_type::narrow_string_type:
9443
3.12k
            SCN_VISIT(std::string);
9444
6.24k
        case detail::arg_type::wide_string_type:
9445
6.24k
            SCN_VISIT(std::wstring);
9446
9.36k
        case detail::arg_type::string_view_type: {
9447
9.36k
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
9.36k
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
9.36k
        }
9454
9455
9.36k
        case detail::arg_type::custom_type:
9456
9.36k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
9.36k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
9.36k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
28.2k
            SCN_CLANG_POP
9473
28.2k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
5.07k
{
9353
5.07k
#define SCN_VISIT(Type)                                                \
9354
5.07k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
5.07k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
5.07k
    }                                                                  \
9357
5.07k
    else {                                                             \
9358
5.07k
        return vis(monostate_val);                                     \
9359
5.07k
    }
9360
9361
5.07k
    monostate monostate_val{};
9362
9363
5.07k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
564
        case detail::arg_type::int_type:
9369
564
            SCN_VISIT(int);
9370
564
        case detail::arg_type::long_type:
9371
564
            SCN_VISIT(long);
9372
564
        case detail::arg_type::llong_type:
9373
564
            SCN_VISIT(long long);
9374
564
        case detail::arg_type::int128_type:
9375
564
#if SCN_HAS_INT128
9376
564
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
564
        case detail::arg_type::uchar_type:
9381
564
            SCN_VISIT(unsigned char);
9382
564
        case detail::arg_type::ushort_type:
9383
564
            SCN_VISIT(unsigned short);
9384
1.12k
        case detail::arg_type::uint_type:
9385
1.12k
            SCN_VISIT(unsigned);
9386
1.12k
        case detail::arg_type::ulong_type:
9387
1.12k
            SCN_VISIT(unsigned long);
9388
1.12k
        case detail::arg_type::ullong_type:
9389
1.12k
            SCN_VISIT(unsigned long long);
9390
1.12k
        case detail::arg_type::uint128_type:
9391
1.12k
#if SCN_HAS_INT128
9392
1.12k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
1.69k
        case detail::arg_type::pointer_type:
9397
1.69k
            SCN_VISIT(void*);
9398
2.25k
        case detail::arg_type::bool_type:
9399
2.25k
            SCN_VISIT(bool);
9400
2.25k
        case detail::arg_type::narrow_character_type:
9401
2.25k
            SCN_VISIT(char);
9402
2.82k
        case detail::arg_type::wide_character_type:
9403
2.82k
            SCN_VISIT(wchar_t);
9404
2.82k
        case detail::arg_type::code_point_type:
9405
2.82k
            SCN_VISIT(char32_t);
9406
2.82k
        case detail::arg_type::float_type:
9407
2.82k
            SCN_VISIT(float);
9408
3.38k
        case detail::arg_type::double_type:
9409
3.38k
            SCN_VISIT(double);
9410
3.38k
        case detail::arg_type::ldouble_type:
9411
3.38k
            SCN_VISIT(long double);
9412
3.38k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
3.38k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
564
        case detail::arg_type::narrow_string_type:
9443
564
            SCN_VISIT(std::string);
9444
1.12k
        case detail::arg_type::wide_string_type:
9445
1.12k
            SCN_VISIT(std::wstring);
9446
1.69k
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
1.69k
            else {
9451
1.69k
                SCN_VISIT(std::wstring_view);
9452
1.69k
            }
9453
1.69k
        }
9454
9455
1.69k
        case detail::arg_type::custom_type:
9456
1.69k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
1.69k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
1.69k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
5.07k
            SCN_CLANG_POP
9473
5.07k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
13.0k
{
9353
13.0k
#define SCN_VISIT(Type)                                                \
9354
13.0k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
13.0k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
13.0k
    }                                                                  \
9357
13.0k
    else {                                                             \
9358
13.0k
        return vis(monostate_val);                                     \
9359
13.0k
    }
9360
9361
13.0k
    monostate monostate_val{};
9362
9363
13.0k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
1.49k
        case detail::arg_type::int_type:
9369
1.49k
            SCN_VISIT(int);
9370
1.49k
        case detail::arg_type::long_type:
9371
1.49k
            SCN_VISIT(long);
9372
1.49k
        case detail::arg_type::llong_type:
9373
1.49k
            SCN_VISIT(long long);
9374
1.49k
        case detail::arg_type::int128_type:
9375
1.49k
#if SCN_HAS_INT128
9376
1.49k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
1.49k
        case detail::arg_type::uchar_type:
9381
1.49k
            SCN_VISIT(unsigned char);
9382
1.49k
        case detail::arg_type::ushort_type:
9383
1.49k
            SCN_VISIT(unsigned short);
9384
2.98k
        case detail::arg_type::uint_type:
9385
2.98k
            SCN_VISIT(unsigned);
9386
2.98k
        case detail::arg_type::ulong_type:
9387
2.98k
            SCN_VISIT(unsigned long);
9388
2.98k
        case detail::arg_type::ullong_type:
9389
2.98k
            SCN_VISIT(unsigned long long);
9390
2.98k
        case detail::arg_type::uint128_type:
9391
2.98k
#if SCN_HAS_INT128
9392
2.98k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
4.41k
        case detail::arg_type::pointer_type:
9397
4.41k
            SCN_VISIT(void*);
9398
5.90k
        case detail::arg_type::bool_type:
9399
5.90k
            SCN_VISIT(bool);
9400
5.90k
        case detail::arg_type::narrow_character_type:
9401
5.90k
            SCN_VISIT(char);
9402
7.32k
        case detail::arg_type::wide_character_type:
9403
7.32k
            SCN_VISIT(wchar_t);
9404
7.32k
        case detail::arg_type::code_point_type:
9405
7.32k
            SCN_VISIT(char32_t);
9406
7.32k
        case detail::arg_type::float_type:
9407
7.32k
            SCN_VISIT(float);
9408
8.82k
        case detail::arg_type::double_type:
9409
8.82k
            SCN_VISIT(double);
9410
8.82k
        case detail::arg_type::ldouble_type:
9411
8.82k
            SCN_VISIT(long double);
9412
8.82k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
8.82k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
1.42k
        case detail::arg_type::narrow_string_type:
9443
1.42k
            SCN_VISIT(std::string);
9444
2.85k
        case detail::arg_type::wide_string_type:
9445
2.85k
            SCN_VISIT(std::wstring);
9446
4.27k
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
4.27k
            else {
9451
4.27k
                SCN_VISIT(std::wstring_view);
9452
4.27k
            }
9453
4.27k
        }
9454
9455
4.27k
        case detail::arg_type::custom_type:
9456
4.27k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
4.27k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
4.27k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
13.0k
            SCN_CLANG_POP
9473
13.0k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
9480
9481
}  // namespace detail
9482
9483
template <typename Visitor, typename Ctx>
9484
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9485
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9486
{
9487
    return detail::visit_impl(SCN_FWD(vis), arg);
9488
}
9489
9490
template <typename Context>
9491
template <typename Visitor>
9492
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9493
52.1k
{
9494
52.1k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
52.1k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9493
5.68k
{
9494
5.68k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
5.68k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9493
28.2k
{
9494
28.2k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
28.2k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9493
5.07k
{
9494
5.07k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
5.07k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9493
13.0k
{
9494
13.0k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
13.0k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
9496
9497
template <typename Context>
9498
template <typename R, typename Visitor>
9499
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9500
{
9501
    return detail::visit_impl(SCN_FWD(vis), *this);
9502
}
9503
9504
/////////////////////////////////////////////////////////////////
9505
// vscan
9506
/////////////////////////////////////////////////////////////////
9507
9508
/**
9509
 * \defgroup vscan Type-erased scanning API
9510
 *
9511
 * \brief Lower-level scanning API with type-erased arguments
9512
 */
9513
9514
namespace detail {
9515
template <typename Source>
9516
using scan_result_value_type =
9517
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9518
                       std::FILE*,
9519
                       borrowed_tail_subrange_t<Source>>;
9520
}
9521
9522
/**
9523
 * Result type returned by `vscan`.
9524
 *
9525
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9526
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9527
 *
9528
 * \ingroup vscan
9529
 */
9530
template <typename Source>
9531
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9532
9533
namespace detail {
9534
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9535
                                         std::string_view format,
9536
                                         scan_args args);
9537
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9538
                                         std::string_view format,
9539
                                         scan_args args);
9540
9541
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9542
                                         std::wstring_view format,
9543
                                         wscan_args args);
9544
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9545
                                         std::wstring_view format,
9546
                                         wscan_args args);
9547
9548
#if !SCN_DISABLE_LOCALE
9549
template <typename Locale>
9550
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9551
                                                   std::string_view source,
9552
                                                   std::string_view format,
9553
                                                   scan_args args);
9554
template <typename Locale>
9555
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9556
                                                   scan_buffer& source,
9557
                                                   std::string_view format,
9558
                                                   scan_args args);
9559
9560
template <typename Locale>
9561
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9562
                                                   std::wstring_view source,
9563
                                                   std::wstring_view format,
9564
                                                   wscan_args args);
9565
template <typename Locale>
9566
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9567
                                                   wscan_buffer& source,
9568
                                                   std::wstring_view format,
9569
                                                   wscan_args args);
9570
#endif
9571
9572
scan_expected<std::ptrdiff_t> vscan_value_impl(
9573
    std::string_view source,
9574
    basic_scan_arg<scan_context> arg);
9575
scan_expected<std::ptrdiff_t> vscan_value_impl(
9576
    scan_buffer& source,
9577
    basic_scan_arg<scan_context> arg);
9578
9579
scan_expected<std::ptrdiff_t> vscan_value_impl(
9580
    std::wstring_view source,
9581
    basic_scan_arg<wscan_context> arg);
9582
scan_expected<std::ptrdiff_t> vscan_value_impl(
9583
    wscan_buffer& source,
9584
    basic_scan_arg<wscan_context> arg);
9585
9586
template <typename Range, typename CharT>
9587
auto vscan_generic(Range&& range,
9588
                   std::basic_string_view<CharT> format,
9589
                   basic_scan_args<detail::default_context<CharT>> args)
9590
    -> vscan_result<Range>
9591
93.4k
{
9592
93.4k
    auto buffer = make_scan_buffer(range);
9593
9594
93.4k
    auto result = vscan_impl(buffer, format, args);
9595
93.4k
    if (SCN_UNLIKELY(!result)) {
9596
91.0k
        return unexpected(result.error());
9597
91.0k
    }
9598
2.41k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
93.4k
}
_ZN3scn2v46detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESN_EEEE
Line
Count
Source
9591
31.1k
{
9592
31.1k
    auto buffer = make_scan_buffer(range);
9593
9594
31.1k
    auto result = vscan_impl(buffer, format, args);
9595
31.1k
    if (SCN_UNLIKELY(!result)) {
9596
29.7k
        return unexpected(result.error());
9597
29.7k
    }
9598
1.34k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
31.1k
}
_ZN3scn2v46detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESN_EEEE
Line
Count
Source
9591
62.2k
{
9592
62.2k
    auto buffer = make_scan_buffer(range);
9593
9594
62.2k
    auto result = vscan_impl(buffer, format, args);
9595
62.2k
    if (SCN_UNLIKELY(!result)) {
9596
61.2k
        return unexpected(result.error());
9597
61.2k
    }
9598
1.07k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
62.2k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
9600
9601
template <typename Locale, typename Range, typename CharT>
9602
auto vscan_localized_generic(
9603
    const Locale& loc,
9604
    Range&& range,
9605
    std::basic_string_view<CharT> format,
9606
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9607
93.4k
{
9608
93.4k
#if !SCN_DISABLE_LOCALE
9609
93.4k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
93.4k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
93.4k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
93.4k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
93.4k
    if (SCN_UNLIKELY(!result)) {
9616
91.0k
        return unexpected(result.error());
9617
91.0k
    }
9618
2.41k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
93.4k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESR_EEEE
Line
Count
Source
9607
31.1k
{
9608
31.1k
#if !SCN_DISABLE_LOCALE
9609
31.1k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
31.1k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
31.1k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
31.1k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
31.1k
    if (SCN_UNLIKELY(!result)) {
9616
29.7k
        return unexpected(result.error());
9617
29.7k
    }
9618
1.34k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
31.1k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESR_EEEE
Line
Count
Source
9607
62.2k
{
9608
62.2k
#if !SCN_DISABLE_LOCALE
9609
62.2k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
62.2k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
62.2k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
62.2k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
62.2k
    if (SCN_UNLIKELY(!result)) {
9616
61.2k
        return unexpected(result.error());
9617
61.2k
    }
9618
1.07k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
62.2k
}
9626
9627
template <typename Range, typename CharT>
9628
auto vscan_value_generic(Range&& range,
9629
                         basic_scan_arg<detail::default_context<CharT>> arg)
9630
    -> vscan_result<Range>
9631
{
9632
    auto buffer = detail::make_scan_buffer(range);
9633
9634
    auto result = detail::vscan_value_impl(buffer, arg);
9635
    if (SCN_UNLIKELY(!result)) {
9636
        return unexpected(result.error());
9637
    }
9638
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
}
9640
}  // namespace detail
9641
9642
SCN_GCC_PUSH
9643
SCN_GCC_IGNORE("-Wnoexcept")
9644
9645
/**
9646
 * Perform actual scanning from `source`, according to `format`, into the
9647
 * type-erased arguments at `args`. Called by `scan`.
9648
 *
9649
 * \ingroup vscan
9650
 */
9651
template <typename Source>
9652
auto vscan(Source&& source, std::string_view format, scan_args args)
9653
    -> vscan_result<Source>
9654
31.1k
{
9655
31.1k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
31.1k
}
_ZN3scn2v45vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextINSF_16buffer_range_tagEcEEEE
Line
Count
Source
9654
31.1k
{
9655
31.1k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
31.1k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9657
9658
/**
9659
 * Perform actual scanning from `source`, according to `format`, into the
9660
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9661
 * `scan`.
9662
 *
9663
 * \ingroup locale
9664
 */
9665
template <typename Source,
9666
          typename Locale,
9667
          typename = std::void_t<decltype(Locale::classic())>>
9668
auto vscan(const Locale& loc,
9669
           Source&& source,
9670
           std::string_view format,
9671
           scan_args args) -> vscan_result<Source>
9672
31.1k
{
9673
31.1k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
31.1k
}
9675
9676
/**
9677
 * Perform actual scanning from `source` into the type-erased argument at
9678
 * `arg`. Called by `scan_value`.
9679
 *
9680
 * \ingroup vscan
9681
 */
9682
template <typename Source>
9683
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9684
    -> vscan_result<Source>
9685
{
9686
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
}
9688
9689
/**
9690
 * Perform actual scanning from `stdin`, according to `format`, into the
9691
 * type-erased arguments at `args`. Called by `input`.
9692
 *
9693
 * \ingroup vscan
9694
 */
9695
scan_expected<void> vinput(std::string_view format, scan_args args);
9696
9697
namespace detail {
9698
template <typename T>
9699
auto scan_int_impl(std::string_view source, T& value, int base)
9700
    -> scan_expected<std::string_view::iterator>;
9701
9702
template <typename T>
9703
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9704
9705
#if !SCN_DISABLE_TYPE_SCHAR
9706
extern template auto scan_int_impl(std::string_view source,
9707
                                   signed char& value,
9708
                                   int base)
9709
    -> scan_expected<std::string_view::iterator>;
9710
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9711
    -> signed char;
9712
#endif
9713
#if !SCN_DISABLE_TYPE_SHORT
9714
extern template auto scan_int_impl(std::string_view source,
9715
                                   short& value,
9716
                                   int base)
9717
    -> scan_expected<std::string_view::iterator>;
9718
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9719
#endif
9720
#if !SCN_DISABLE_TYPE_INT
9721
extern template auto scan_int_impl(std::string_view source,
9722
                                   int& value,
9723
                                   int base)
9724
    -> scan_expected<std::string_view::iterator>;
9725
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9726
#endif
9727
#if !SCN_DISABLE_TYPE_LONG
9728
extern template auto scan_int_impl(std::string_view source,
9729
                                   long& value,
9730
                                   int base)
9731
    -> scan_expected<std::string_view::iterator>;
9732
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9733
#endif
9734
#if !SCN_DISABLE_TYPE_LONG_LONG
9735
extern template auto scan_int_impl(std::string_view source,
9736
                                   long long& value,
9737
                                   int base)
9738
    -> scan_expected<std::string_view::iterator>;
9739
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9740
    -> long long;
9741
#endif
9742
#if !SCN_DISABLE_TYPE_UCHAR
9743
extern template auto scan_int_impl(std::string_view source,
9744
                                   unsigned char& value,
9745
                                   int base)
9746
    -> scan_expected<std::string_view::iterator>;
9747
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9748
    -> unsigned char;
9749
#endif
9750
#if !SCN_DISABLE_TYPE_USHORT
9751
extern template auto scan_int_impl(std::string_view source,
9752
                                   unsigned short& value,
9753
                                   int base)
9754
    -> scan_expected<std::string_view::iterator>;
9755
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9756
    -> unsigned short;
9757
#endif
9758
#if !SCN_DISABLE_TYPE_UINT
9759
extern template auto scan_int_impl(std::string_view source,
9760
                                   unsigned int& value,
9761
                                   int base)
9762
    -> scan_expected<std::string_view::iterator>;
9763
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9764
    -> unsigned int;
9765
#endif
9766
#if !SCN_DISABLE_TYPE_ULONG
9767
extern template auto scan_int_impl(std::string_view source,
9768
                                   unsigned long& value,
9769
                                   int base)
9770
    -> scan_expected<std::string_view::iterator>;
9771
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9772
    -> unsigned long;
9773
#endif
9774
#if !SCN_DISABLE_TYPE_ULONG_LONG
9775
extern template auto scan_int_impl(std::string_view source,
9776
                                   unsigned long long& value,
9777
                                   int base)
9778
    -> scan_expected<std::string_view::iterator>;
9779
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9780
    -> unsigned long long;
9781
#endif
9782
9783
#if SCN_HAS_INT128
9784
9785
#if !SCN_DISABLE_TYPE_INT128
9786
extern template auto scan_int_impl(std::string_view source,
9787
                                   int128& value,
9788
                                   int base)
9789
    -> scan_expected<std::string_view::iterator>;
9790
#endif
9791
9792
#if !SCN_DISABLE_TYPE_UINT128
9793
extern template auto scan_int_impl(std::string_view source,
9794
                                   uint128& value,
9795
                                   int base)
9796
    -> scan_expected<std::string_view::iterator>;
9797
#endif
9798
9799
#endif  // SCN_HAS_INT128
9800
9801
}  // namespace detail
9802
9803
SCN_GCC_POP  // -Wnoexcept
9804
9805
    // dummy namespace to reset formatting
9806
    namespace detail
9807
{
9808
}
9809
9810
/////////////////////////////////////////////////////////////////
9811
// scan
9812
/////////////////////////////////////////////////////////////////
9813
9814
/**
9815
 * The return type of `scan`, based on the type of the source, and the
9816
 * types of the scanned arguments.
9817
 */
9818
template <typename Source, typename... Args>
9819
using scan_result_type =
9820
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9821
9822
/**
9823
 * If `in` contains a successful result as returned from `vscan`,
9824
 * the range contained in `out` is set to `*in`.
9825
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9826
 */
9827
template <typename Result,
9828
          typename Range,
9829
          std::enable_if_t<std::conjunction_v<
9830
              detail::is_specialization_of<Result, scan_result>,
9831
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9832
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9833
186k
{
9834
186k
    if (SCN_UNLIKELY(!in)) {
9835
182k
        out = unexpected(in.error());
9836
182k
    }
9837
4.83k
    else {
9838
4.83k
        out->set_range(SCN_MOVE(*in));
9839
4.83k
    }
9840
186k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.64k
        out = unexpected(in.error());
9836
6.64k
    }
9837
278
    else {
9838
278
        out->set_range(SCN_MOVE(*in));
9839
278
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.92k
        out = unexpected(in.error());
9836
6.92k
    }
9837
0
    else {
9838
0
        out->set_range(SCN_MOVE(*in));
9839
0
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.92k
        out = unexpected(in.error());
9836
6.92k
    }
9837
0
    else {
9838
0
        out->set_range(SCN_MOVE(*in));
9839
0
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.92k
        out = unexpected(in.error());
9836
6.92k
    }
9837
0
    else {
9838
0
        out->set_range(SCN_MOVE(*in));
9839
0
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.92k
        out = unexpected(in.error());
9836
6.92k
    }
9837
0
    else {
9838
0
        out->set_range(SCN_MOVE(*in));
9839
0
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELSA_0EEEvRNS0_13scan_expectedISG_EEONSR_ISM_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.92k
        out = unexpected(in.error());
9836
6.92k
    }
9837
0
    else {
9838
0
        out->set_range(SCN_MOVE(*in));
9839
0
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.11k
        out = unexpected(in.error());
9836
6.11k
    }
9837
802
    else {
9838
802
        out->set_range(SCN_MOVE(*in));
9839
802
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.11k
        out = unexpected(in.error());
9836
6.11k
    }
9837
802
    else {
9838
802
        out->set_range(SCN_MOVE(*in));
9839
802
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSJ_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISJ_EEONSV_ISP_EE
Line
Count
Source
9833
6.92k
{
9834
6.92k
    if (SCN_UNLIKELY(!in)) {
9835
6.11k
        out = unexpected(in.error());
9836
6.11k
    }
9837
802
    else {
9838
802
        out->set_range(SCN_MOVE(*in));
9839
802
    }
9840
6.92k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.5k
        out = unexpected(in.error());
9836
13.5k
    }
9837
264
    else {
9838
264
        out->set_range(SCN_MOVE(*in));
9839
264
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.8k
        out = unexpected(in.error());
9836
13.8k
    }
9837
40
    else {
9838
40
        out->set_range(SCN_MOVE(*in));
9839
40
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.8k
        out = unexpected(in.error());
9836
13.8k
    }
9837
40
    else {
9838
40
        out->set_range(SCN_MOVE(*in));
9839
40
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.7k
        out = unexpected(in.error());
9836
13.7k
    }
9837
42
    else {
9838
42
        out->set_range(SCN_MOVE(*in));
9839
42
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.8k
        out = unexpected(in.error());
9836
13.8k
    }
9837
40
    else {
9838
40
        out->set_range(SCN_MOVE(*in));
9839
40
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELSA_0EEEvRNS0_13scan_expectedISG_EEONSR_ISM_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.8k
        out = unexpected(in.error());
9836
13.8k
    }
9837
18
    else {
9838
18
        out->set_range(SCN_MOVE(*in));
9839
18
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.2k
        out = unexpected(in.error());
9836
13.2k
    }
9837
570
    else {
9838
570
        out->set_range(SCN_MOVE(*in));
9839
570
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.2k
        out = unexpected(in.error());
9836
13.2k
    }
9837
570
    else {
9838
570
        out->set_range(SCN_MOVE(*in));
9839
570
    }
9840
13.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSJ_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISJ_EEONSV_ISP_EE
Line
Count
Source
9833
13.8k
{
9834
13.8k
    if (SCN_UNLIKELY(!in)) {
9835
13.2k
        out = unexpected(in.error());
9836
13.2k
    }
9837
570
    else {
9838
570
        out->set_range(SCN_MOVE(*in));
9839
570
    }
9840
13.8k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
9841
9842
/**
9843
 * Returns an empty result type for a source of type `Source`, and arguments of
9844
 * type `Args...`.
9845
 */
9846
template <typename Source, typename... Args>
9847
auto make_scan_result()
9848
186k
{
9849
186k
    return scan_result_type<Source, Args...>();
9850
186k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
9848
6.92k
{
9849
6.92k
    return scan_result_type<Source, Args...>();
9850
6.92k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
9848
13.8k
{
9849
13.8k
    return scan_result_type<Source, Args...>();
9850
13.8k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9851
9852
template <typename Source, typename... Args>
9853
auto make_scan_result(std::tuple<Args...>&& initial_values)
9854
{
9855
    using type = scan_result_type<Source, Args...>;
9856
    using subrange_type = typename type::value_type::range_type;
9857
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9858
}
9859
9860
/**
9861
 * \defgroup scan Basic scanning API
9862
 *
9863
 * \brief The core public-facing interface of the library
9864
 *
9865
 * The following functions use a format string syntax similar to that of
9866
 * `std::format`. See more at \ref format-string.
9867
 *
9868
 * When these functions take a `source` as input, it must
9869
 * model the `scannable_source` concept. See more at \ref scannable.
9870
 */
9871
9872
/**
9873
 * Scans `Args...` from `source`, according to the
9874
 * specifications given in the format string (`format`).
9875
 * Returns the resulting values in an object of type `scan_result`,
9876
 * alongside a `subrange` pointing to the unused input.
9877
 *
9878
 * Example:
9879
 * \code{.cpp}
9880
 * if (auto result = scn::scan<int>("123", "{}"))
9881
 *     int value = result->value();
9882
 * \endcode
9883
 *
9884
 * \ingroup scan
9885
 */
9886
template <typename... Args,
9887
          typename Source,
9888
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9889
SCN_NODISCARD auto scan(Source&& source,
9890
                        scan_format_string<Source, Args...> format)
9891
    -> scan_result_type<Source, Args...>
9892
31.1k
{
9893
31.1k
    auto result = make_scan_result<Source, Args...>();
9894
31.1k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
31.1k
                                   make_scan_args(result->values())));
9896
31.1k
    return result;
9897
31.1k
}
_ZN3scn2v44scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
_ZN3scn2v44scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9892
3.46k
{
9893
3.46k
    auto result = make_scan_result<Source, Args...>();
9894
3.46k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
3.46k
                                   make_scan_args(result->values())));
9896
3.46k
    return result;
9897
3.46k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
9898
9899
/**
9900
 * `scan` with explicitly supplied default values
9901
 *
9902
 * Can be used, for example, for pre-allocating a scanned string:
9903
 *
9904
 * \code{.cpp}
9905
 * std::string str;
9906
 * str.reserve(64);
9907
 *
9908
 * // As long as the read string fits in `str`,
9909
 * // does not allocate
9910
 * auto result = scn::scan<std::string>(source, "{}",
9911
 *                                      {std::move(str)});
9912
 * // Access the read string with result->value()
9913
 * \endcode
9914
 *
9915
 * \ingroup scan
9916
 */
9917
template <typename... Args,
9918
          typename Source,
9919
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9920
SCN_NODISCARD auto scan(Source&& source,
9921
                        scan_format_string<Source, Args...> format,
9922
                        std::tuple<Args...>&& initial_args)
9923
    -> scan_result_type<Source, Args...>
9924
{
9925
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9926
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9927
                                   make_scan_args(result->values())));
9928
    return result;
9929
}
9930
9931
/**
9932
 * \defgroup locale Localization
9933
 *
9934
 * \brief Scanning APIs that allow passing in a locale
9935
 */
9936
9937
/**
9938
 * `scan` using an explicit locale.
9939
 *
9940
 * Has no effect on its own, locale-specific scanning still needs to be
9941
 * opted-into on an argument-by-argument basis, with the `L` format string
9942
 * specifier.
9943
 *
9944
 * \code{.cpp}
9945
 * auto result = scn::scan<double>(
9946
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
9947
 * // result->value() == 3.14
9948
 * \endcode
9949
 *
9950
 * \ingroup locale
9951
 */
9952
template <typename... Args,
9953
          typename Locale,
9954
          typename Source,
9955
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9956
          typename = std::void_t<decltype(Locale::classic())>>
9957
SCN_NODISCARD auto scan(const Locale& loc,
9958
                        Source&& source,
9959
                        scan_format_string<Source, Args...> format)
9960
    -> scan_result_type<Source, Args...>
9961
31.1k
{
9962
31.1k
    auto result = make_scan_result<Source, Args...>();
9963
31.1k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
31.1k
                                   make_scan_args(result->values())));
9965
31.1k
    return result;
9966
31.1k
}
_ZN3scn2v44scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
_ZN3scn2v44scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9961
3.46k
{
9962
3.46k
    auto result = make_scan_result<Source, Args...>();
9963
3.46k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
3.46k
                                   make_scan_args(result->values())));
9965
3.46k
    return result;
9966
3.46k
}
9967
9968
/**
9969
 * `scan` with a locale and default values
9970
 *
9971
 * \ingroup locale
9972
 */
9973
template <typename... Args,
9974
          typename Locale,
9975
          typename Source,
9976
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9977
          typename = std::void_t<decltype(Locale::classic())>>
9978
SCN_NODISCARD auto scan(const Locale& loc,
9979
                        Source&& source,
9980
                        scan_format_string<Source, Args...> format,
9981
                        std::tuple<Args...>&& initial_args)
9982
    -> scan_result_type<Source, Args...>
9983
{
9984
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9985
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9986
                                   make_scan_args(result->values())));
9987
    return result;
9988
}
9989
9990
/**
9991
 * `scan` a single value, with default options.
9992
 *
9993
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
9994
 * except it can skip parsing the format string, gaining performance.
9995
 *
9996
 * \ingroup scan
9997
 */
9998
template <typename T,
9999
          typename Source,
10000
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10001
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
10002
{
10003
    auto result = make_scan_result<Source, T>();
10004
    fill_scan_result(
10005
        result, vscan_value(SCN_FWD(source),
10006
                            detail::make_arg<scan_context>(result->value())));
10007
    return result;
10008
}
10009
10010
/**
10011
 * `scan` a single value, with default options, and a default value.
10012
 *
10013
 * \ingroup scan
10014
 */
10015
template <typename T,
10016
          typename Source,
10017
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
10018
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
10019
    -> scan_result_type<Source, T>
10020
{
10021
    auto result =
10022
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
10023
    fill_scan_result(
10024
        result, vscan_value(SCN_FWD(source),
10025
                            detail::make_arg<scan_context>(result->value())));
10026
    return result;
10027
}
10028
10029
/**
10030
 * Scan from `stdin`.
10031
 *
10032
 * Equivalent to `scn::scan<...>(stdin, ...)`.
10033
 *
10034
 * \code{.cpp}
10035
 * auto result = scn::input<int>("{}");
10036
 * \endcode
10037
 *
10038
 * \ingroup scan
10039
 */
10040
template <typename... Args>
10041
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
10042
    -> scan_result_type<std::FILE*, Args...>
10043
{
10044
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
10045
                                                        std::tuple<Args...>{});
10046
    auto err = vinput(format, make_scan_args(result->values()));
10047
    if (SCN_UNLIKELY(!err)) {
10048
        result = unexpected(err.error());
10049
    }
10050
    return result;
10051
}
10052
10053
/**
10054
 * Write msg to stdout, and call `input<Args...>(format)`
10055
 *
10056
 * \ingroup scan
10057
 */
10058
template <typename... Args>
10059
SCN_NODISCARD auto prompt(const char* msg,
10060
                          scan_format_string<std::FILE*, Args...> format)
10061
    -> scan_result_type<std::FILE*, Args...>
10062
{
10063
    std::printf("%s", msg);
10064
    std::fflush(stdout);
10065
    return input<Args...>(format);
10066
}
10067
10068
namespace detail {
10069
template <typename T>
10070
inline constexpr bool is_scan_int_type =
10071
    (std::is_integral_v<T> && !std::is_same_v<T, char> &&
10072
     !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
10073
     !std::is_same_v<T, bool>)
10074
#if SCN_HAS_INT128
10075
    || std::is_same_v<T, int128> || std::is_same_v<T, uint128>
10076
#endif
10077
    ;
10078
}  // namespace detail
10079
10080
/**
10081
 * Fast integer reading.
10082
 *
10083
 * Quickly reads an integer from a `std::string_view`. Skips preceding
10084
 * whitespace.
10085
 *
10086
 * Reads in the specified base,
10087
 * allowing a base prefix. Set `base` to `0` to detect the base from the
10088
 * input. `base` must either be `0`, or in range `[2, 36]`.
10089
 *
10090
 * \ingroup scan
10091
 */
10092
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10093
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
10094
    -> scan_result_type<std::string_view, T>
10095
{
10096
    auto result = scan_result_type<std::string_view, T>();
10097
    if (auto r = detail::scan_int_impl(source, result->value(), base);
10098
        SCN_LIKELY(r)) {
10099
        result->set_range(ranges::subrange{*r, source.end()});
10100
    }
10101
    else {
10102
        result = unexpected(r.error());
10103
    }
10104
    return result;
10105
}
10106
10107
namespace detail {
10108
template <bool Val, typename T>
10109
inline constexpr bool dependent_bool = Val;
10110
}
10111
10112
/**
10113
 * Very fast integer reading.
10114
 *
10115
 * Quickly reads an integer from a `std::string_view`.
10116
 *
10117
 * Be very careful when using this one!
10118
 * Its speed comes from some very heavy assumptions about the validity of
10119
 * the input:
10120
 *  - `source` must not be empty.
10121
 *  - `source` contains nothing but the integer: no leading or trailing
10122
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
10123
 *    no `+` is allowed.
10124
 *  - The parsed value does not overflow.
10125
 *  - The input is a valid base-10 integer.
10126
 * Breaking these assumptions will lead to UB.
10127
 *
10128
 * \ingroup scan
10129
 */
10130
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10131
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
10132
{
10133
    static_assert(
10134
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
10135
        "scan_int_exhaustive_valid requires a little endian environment");
10136
    return detail::scan_int_exhaustive_valid_impl<T>(source);
10137
}
10138
10139
SCN_END_NAMESPACE
10140
}  // namespace scn